Apparatus and method of performance matching

ABSTRACT

In an aspect an apparatus for performance matching is presented. An apparatus includes at least a processor and a memory communicatively connected to the processor. A memory contains instructions configuring at least a processor to receive performance data of a user performing a skill evaluation. At least a processor is configured to determine a measured performance of a user as a function of performance data. At least a processor is configured to compare the measured performance to a performance parameter. At least a processor is configured to generate a search query as a function of a comparison. At least a processor is configured to provide a user with at least a posting as a function of a search query.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of Nonprovisional application Ser.No. 17/695,088, filed on Mar. 15, 2022, and entitled “APPARATUS ANDMETHOD OF PERFORMANCE MATCHING,” the entirety of which is incorporatedherein by reference.

FIELD OF THE INVENTION

The present invention generally relates to the field of performancematching. In particular, the present invention is directed to anapparatus and methods of performance matching.

BACKGROUND

Modern posting matching is limited to pre-recorded data and fails totake into account any performance data.

SUMMARY OF THE DISCLOSURE

In an aspect an apparatus for performance matching is presented. Theapparatus includes an at least a processor and a memory communicativelyconnected to the processor. The memory contains instructions configuringthe at least a processor to measure performance data of a userperforming a skill evaluation, wherein the skill evaluation comprisesuser-specific data, determine a measured performance of the user as afunction of the performance data, compare the measured performance to aperformance parameter, generate a search query as a function of thecomparison, associate the user with a posting description of at least aposting of one or more postings as a function of the search query,wherein generating the search query comprises comparing theuser-specific data to description-specific data of the one or morepostings, provide the user with the at least a posting of the one ormore postings.

In another aspect a method of performance matching using an at least aprocessor is presented. The method includes measuring, by a processor,performance data of a user performing a skill evaluation, wherein theskill evaluation comprises user-specific data. The method includesdetermining, by the processor, a measured performance of the user as afunction of the performance data. The method includes comparing, by theprocessor, the measured performance to a performance parameter. Themethod includes generating, by the processor, a search query as afunction of the comparison. The method includes associating, by theprocessor, the user with a posting description of at least a posting ofone or more postings as a function of the search query, whereingenerating the search query comprises comparing the user-specific datato description-specific data of the one or more postings. The methodincludes providing, by the processor, the user with the at least aposting of the one or more postings.

These and other aspects and features of non-limiting embodiments of thepresent invention will become apparent to those skilled in the art uponreview of the following description of specific non-limiting embodimentsof the invention in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

For the purpose of illustrating the invention, the drawings show aspectsof one or more embodiments of the invention. However, it should beunderstood that the present invention is not limited to the precisearrangements and instrumentalities shown in the drawings, wherein:

FIG. 1 is an exemplary embodiment of a block diagram of an apparatus forperformance matching;

FIG. 2 is an exemplary embodiment of a skill evaluation;

FIG. 3 is an exemplary embodiment of a block diagram of a fuzzy logicsystem;

FIG. 4 is an exemplary embodiment of a block diagram of a user profiledatabase;

FIG. 5 is an exemplary embodiment of a machine learning model;

FIG. 6 is an exemplary embodiment of a flowchart of a method ofperformance matching; and

FIG. 7 is a block diagram of a computing system that can be used toimplement any one or more of the methodologies disclosed herein and anyone or more portions thereof.

The drawings are not necessarily to scale and may be illustrated byphantom lines, diagrammatic representations and fragmentary views. Incertain instances, details that are not necessary for an understandingof the embodiments or that render other details difficult to perceivemay have been omitted.

DETAILED DESCRIPTION

At a high level, aspects of the present disclosure are directed to anapparatus and method for performance matching. In an embodiment, anapparatus may be configured to receive performance data from a userinput. An apparatus may be configured to determine a measuredperformance of a user as a function of performance data. An apparatusmay be configured to compare a measured performance to a performanceparameter. An apparatus may be configured to generate a search query asa function of a comparison of a measured performance to a performanceparameter. An apparatus may be configured to provide at least a postingto a user as a function of a search query.

Aspects of the present disclosure can be used to match performances ofusers to postings. Aspects of the present disclosure can also be used togenerate user profiles as a function of a measured performance.Exemplary embodiments illustrating aspects of the present disclosure aredescribed below in the context of several specific examples.

Referring now to FIG. 1 , an exemplary embodiment of an apparatus 100for performance matching is illustrated. Apparatus 100 may include acomputing device. In some embodiments, apparatus 100 may include atleast a processor. Apparatus 100 may include a memory communicativelyconnected to at least a processor. As used in this disclosure,“communicatively connected” means connected by way of a connection,attachment or linkage between two or more relata which allows forreception and/or transmittance of information therebetween. For example,and without limitation, this connection may be wired or wireless, director indirect, and between two or more components, circuits, devices,systems, and the like, which allows for reception and/or transmittanceof data and/or signal(s) therebetween. Data and/or signals therebetweenmay include, without limitation, electrical, electromagnetic, magnetic,video, audio, radio and microwave data and/or signals, combinationsthereof, and the like, among others. A communicative connection may beachieved, for example and without limitation, through wired or wirelesselectronic, digital or analog, communication, either directly or by wayof one or more intervening devices or components. Further, communicativeconnection may include electrically coupling or connecting at least anoutput of one device, component, or circuit to at least an input ofanother device, component, or circuit. For example, and withoutlimitation, via a bus or other facility for intercommunication betweenelements of a computing device. Communicative connecting may alsoinclude indirect connections via, for example and without limitation,wireless connection, radio communication, low power wide area network,optical communication, magnetic, capacitive, or optical coupling, andthe like. In some instances, the terminology “communicatively coupled”may be used in place of communicatively connected in this disclosure. Insome embodiments, a memory communicatively connected to at least aprocessor of apparatus 100 may contain instructions may configure the atleast a processor of apparatus 100 to perform various tasks and/orprocesses. Apparatus 100 may include any computing device as describedin this disclosure, including without limitation a microcontroller,microprocessor, digital signal processor (DSP) and/or system on a chip(SoC) as described in this disclosure. Computing device may include, beincluded in, and/or communicate with a mobile device such as a mobiletelephone or smartphone. Apparatus 100 may include a single computingdevice operating independently, or may include two or more computingdevice operating in concert, in parallel, sequentially or the like; twoor more computing devices may be included together in a single computingdevice or in two or more computing devices. Apparatus 100 may interfaceor communicate with one or more additional devices as described below infurther detail via a network interface device. Network interface devicemay be utilized for connecting apparatus 100 to one or more of a varietyof networks, and one or more devices. Examples of a network interfacedevice include, but are not limited to, a network interface card (e.g.,a mobile network interface card, a LAN card), a modem, and anycombination thereof. Examples of a network include, but are not limitedto, a wide area network (e.g., the Internet, an enterprise network), alocal area network (e.g., a network associated with an office, abuilding, a campus or other relatively small geographic space), atelephone network, a data network associated with a telephone/voiceprovider (e.g., a mobile communications provider data and/or voicenetwork), a direct connection between two computing devices, and anycombinations thereof. A network may employ a wired and/or a wirelessmode of communication. In general, any network topology may be used.Information (e.g., data, software etc.) may be communicated to and/orfrom a computer and/or a computing device. Apparatus 100 may include butis not limited to, for example, a computing device or cluster ofcomputing devices in a first location and a second computing device orcluster of computing devices in a second location. Apparatus 100 mayinclude one or more computing devices dedicated to data storage,security, distribution of traffic for load balancing, and the like.Apparatus 100 may distribute one or more computing tasks as describedbelow across a plurality of computing devices of computing device, whichmay operate in parallel, in series, redundantly, or in any other mannerused for distribution of tasks or memory between computing devices.Apparatus 100 may be implemented using a “shared nothing” architecturein which data is cached at the worker, in an embodiment, this may enablescalability of apparatus 100 and/or a computing device.

With continued reference to FIG. 1 , apparatus 100 may be designedand/or configured to perform any method, method step, or sequence ofmethod steps in any embodiment described in this disclosure, in anyorder and with any degree of repetition. For instance, apparatus 100 maybe configured to perform a single step or sequence repeatedly until adesired or commanded outcome is achieved; repetition of a step or asequence of steps may be performed iteratively and/or recursively usingoutputs of previous repetitions as inputs to subsequent repetitions,aggregating inputs and/or outputs of repetitions to produce an aggregateresult, reduction or decrement of one or more variables such as globalvariables, and/or division of a larger processing task into a set ofiteratively addressed smaller processing tasks. Apparatus 100 mayperform any step or sequence of steps as described in this disclosure inparallel, such as simultaneously and/or substantially simultaneouslyperforming a step two or more times using two or more parallel threads,processor cores, or the like; division of tasks between parallel threadsand/or processes may be performed according to any protocol suitable fordivision of tasks between iterations. Persons skilled in the art, uponreviewing the entirety of this disclosure, will be aware of various waysin which steps, sequences of steps, processing tasks, and/or data may besubdivided, shared, or otherwise dealt with using iteration, recursion,and/or parallel processing.

Still referring to FIG. 1 , apparatus 100 may be configured to measure aperformance of user 104 performing a skill evaluation. A “skillevaluation” as used in this disclosure is any assessment of one or moreabilities of an entity. A skill evaluation may include, but is notlimited to, tests, quizzes, interviews, and the like. In someembodiments, a skill evaluation may include, but is not limited to,video interviews, telephonic interviews, in-person interviews, and thelike. As a non-limiting example, a skill evaluation may include a videointerview for an entry-level software engineering position. In somecases, a skill evaluation may include content that is representative orcommunicative of an attribute of user 104. Apparatus 100 may measureperformance data 108 from attributes of user 104 conveyed through askill evaluation. Attributes may include, but are not limited to,subjects skills, competencies, credentials, talents, sociability, andthe like. In some cases, attributes may be explicitly conveyed within askill evaluation. Alternatively or additionally, in some cases,attributes may be conveyed implicitly in a skill evaluation.

With continued reference to FIG. 1 , apparatus 100 may be configured toreceive and/or determine performance data 108 through data extractedfrom audio and/or visual components of a skill evaluation. Apparatus 100may determine an image component of a skill evaluation. As used in thisdisclosure, an “image component” is a visual representation. An imagecomponent may include animations, still imagery, recorded video, and thelike. An image component may include visual information of a skillevaluation. In some cases, an image component may include a plurality oftemporally sequential frames. In some cases, each frame may be encoded(e.g., bitmap or vector-based encoding). Each frame may be configured tobe displayed by way of a display. Exemplary displays include withoutlimitation light emitting diode (LED) displays, cathode ray tube (CRT)displays, liquid crystal displays (LCDs), organic LEDs (OLDs), quantumdot displays, projectors (e.g., scanned light projectors), and the like.In some cases, an image component may digitally represent (i.e., encode)visual information, for instance a pixel (luma and/or chroma) mapping.

With continued reference to FIG. 1 , a skill evaluation may include anaudio component. As used in this disclosure, an “audio component” is arepresentation of audio, for example a sound, a speech, and the like. Insome cases, an audio component may be represented digitally. In somecases, an audio component may be temporally associated with an imagecomponent video. For example, in some cases, an audio component may besynchronized with an image component. An audio component may becompressed and/or encoded, for example by way of a digital audio codingformat (i.e., codec). Exemplary audio codecs include without limitationfree lossless audio codec (FLAC), MPEG-4 audio lossless coding, Dolbydigital, MP3, Vorbis, and the like. In some cases, an audio codec may belossless. Alternatively or additionally, in some cases, an audio codecmay be lossy.

With continued reference to FIG. 1 , a skill evaluation may include, forexample by way of representation with one or both of an image componentand audio component, verbal content. As used in this disclosure, “verbalcontent” is comprehensible language-based communication. For example, insome cases, verbal content may include visual verbal content. As used inthis disclosure, “visual verbal content” is literal (e.g., written)verbal content. In some cases, visual verbal content may be includedwithin a skill evaluation substantially by way of an image component.Alternatively or additionally, in some cases, verbal content may includeaudible verbal content. As used in this disclosure, “audible verbalcontent” is oral (e.g., spoken) verbal content. In some cases, audibleverbal content may be included within a skill evaluation substantiallyby way of an audio component. In some cases, verbal content may berelated to an attribute of user 104. For example, verbal content mayexplicitly communicative an attribute of user 104.

Still referring to FIG. 1 , in some embodiments, a skill evaluation mayinclude, for example by way of representation with one or both of animage component and audio component, non-verbal content. As used in thisdisclosure, “non-verbal content” is all communication that is notcharacterized as verbal content. As such, non-verbal content includesall subtle (and non-subtle) forms of communication which are notconveyed with use of language. Exemplary non-verbal content may includechange in intonation and/or stress in a speakers voice, expression ofemotion, interjection, and the like. For example, in some cases,non-verbal content may include visual non-verbal content. As used inthis disclosure, “visual non-verbal content” is non-verbal content thatis visually represented. In some cases, visual non-verbal content may beincluded within a skill evaluation substantially by way of an imagecomponent. Alternatively or additionally, in some cases, non-verbalcontent may include audible non-verbal content. As used in thisdisclosure, “visual non-verbal content” is non-verbal content that isaudibly represented. In some cases, audible non-verbal content may beincluded in a skill evaluation substantially by way of an audiocomponent. A skill evaluation may be representative of a form of auser-specific data. As used in this disclosure, “user-specific data” isany element of information that is associated with a specific user.Exemplary forms of user-specific data include an image component, audiocomponent, verbal content, non-verbal content, solicitation video, aswell as any information derived directly or indirectly from a skillevaluation or any other user-specific data. In some cases, user-specificmay represent attributes associated with a specific user 104. In somecases, a non-verbal classifier may classify non-verbal content presentin one or more audio components and/or image components to one or moreof a posting, feature, keyword, and the like. A non-verbal classifiermay include a number of classifiers, for example each being tasked withclassifying a particular attribute or form of non-verbal content. Forexample, in some cases, a non-verbal classifier may classify a skillevaluation and related user 104 as associated with a feature or keywordrepresentative of ‘personable.’ A non-verbal classifier may include aspecialized audible non-verbal classifier to classify audible non-verbalcontent within an audio component as sounding ‘personable’ that is, forexample, as having appropriate levels of intonation, timber, melody,stress, and the like. Likewise, a non-verbal classifier may includeanother specialized visual non-verbal classifier to classify visualnon-verbal content as appearing ‘personable’ that is, for example, ashaving appropriate posture, facial expressions, manner of dress, and thelike. In some cases, a classifier may include or a constituent part oftree structure, for making associations based upon a skill evaluation.

With continued reference to FIG. 1 , apparatus 100 may transcribe akeyword. Apparatus 100 may transcribe a keyword as a function of one ormore of image components and/or audio components. Apparatus 100 maytranscribe a keyword as a function of verbal content. As used in thisdisclosure, a “keyword” is any meaningful word or syntax. In some cases,apparatus 100 may transcribe much or even substantially all verbalcontent from a skill evaluation. In some cases, apparatus 100 maytranscribe audible verbal content, for example by way of speech to textor speech recognition technologies. Exemplary automatic speechrecognition technologies include, without limitation, dynamic timewarping (DTW)-based speech recognition, end-to-end automatic speechrecognition, hidden Markov models, neural networks, including deepfeedforward and recurrent neural networks, and the like. Generally,automatic speech recognition may include any machine-learning processdescribed in this disclosure, for example with reference to FIG. 5 .

Still referring to FIG. 1 , in some embodiments, automatic speechrecognition may require training (i.e., enrollment). In some cases,training an automatic speech recognition model may require an individualspeaker to read text or isolated vocabulary. In some cases, a skillevaluation may include an audio component having audible verbal content,the contents of which are known a priori by apparatus 100. Apparatus 100may then train an automatic speech recognition model according totraining data which includes audible verbal content correlated to knowncontent. In this way, apparatus 100 may analyze a person's specificvoice and train an automatic speech recognition model to the person'sspeech, resulting in increased accuracy. Alternatively or additionally,in some cases, apparatus 100 may include an automatic speech recognitionmodel that is speaker-independent. As used in this disclosure, a“speaker independent” automatic speech recognition process does notrequire training for each individual speaker. Conversely, as used inthis disclosure, automatic speech recognition processes that employindividual speaker specific training are “speaker dependent.”

Still referring to FIG. 1 , in some embodiments, an automatic speechrecognition process may perform voice recognition or speakeridentification. As used in this disclosure, “voice recognition” refersto identifying a speaker, from audio content, rather than what thespeaker is saying. In some cases, apparatus 100 may first recognize aspeaker of verbal audio content and then automatically recognize speechof the speaker, for example by way of a speaker dependent automaticspeech recognition model or process. In some embodiments, an automaticspeech recognition process can be used to authenticate or verify anidentity of a speaker. In some cases, a speaker may or may not includeuser 104. For example, user 104 may speak within a skill evaluation, butothers may speak as well.

Still referring to FIG. 1 , in some embodiments, an automatic speechrecognition process may include one or all of acoustic modeling,language modeling, and statistically-based speech recognitionalgorithms. In some cases, an automatic speech recognition process mayemploy hidden Markov models (HMMs). As discussed in greater detailbelow, language modeling such as that employed in natural languageprocessing applications like document classification or statisticalmachine translation, may also be employed by an automatic speechrecognition process.

Still referring to FIG. 1 , an exemplary algorithm employed in automaticspeech recognition may include or even be based upon hidden Markovmodels. Hidden Markov models (HMIs) may include statistical models thatoutput a sequence of symbols or quantities. HMIs can be used in speechrecognition because a speech signal can be viewed as a piecewisestationary signal or a short-time stationary signal. For example, over ashort time scale (e.g., 10 milliseconds), speech can be approximated asa stationary process. Speech (i.e., audible verbal content) can beunderstood as a Markov model for many stochastic purposes.

Still referring to FIG. 1 , in some embodiments HMIs can be trainedautomatically and may be relatively simple and computationally feasibleto use. In an exemplary automatic speech recognition process, a hiddenMarkov model may output a sequence of n-dimensional real-valued vectors(with n being a small integer, such as 10), at a rate of about onevector every 10 milliseconds. Vectors may consist of cepstralcoefficients. A cepstral coefficient requires using a spectral domain.Cepstral coefficients may be obtained by taking a Fourier transform of ashort time window of speech yielding a spectrum, decorrelating thespectrum using a cosine transform, and taking first (i.e., mostsignificant) coefficients. In some cases, an HMM may have in each statea statistical distribution that is a mixture of diagonal covarianceGaussians, yielding a likelihood for each observed vector. In somecases, each word, or phoneme, may have a different output distribution;an HMM for a sequence of words or phonemes may be made by concatenatingan HMMs for separate words and phonemes.

Still referring to FIG. 1 , in some embodiments, an automatic speechrecognition process may use various combinations of a number oftechniques in order to improve results. In some cases, alarge-vocabulary automatic speech recognition process may includecontext dependency for phonemes. For example, in some cases, phonemeswith different left and right context may have different realizations asHMM states. In some cases, an automatic speech recognition process mayuse cepstral normalization to normalize for different speakers andrecording conditions. In some cases, an automatic speech recognitionprocess may use vocal tract length normalization (VTLN) for male-femalenormalization and maximum likelihood linear regression (MLLR) for moregeneral speaker adaptation. In some cases, an automatic speechrecognition process may determine so-called delta and delta-deltacoefficients to capture speech dynamics and might use heteroscedasticlinear discriminant analysis (HLDA). In some cases, an automatic speechrecognition process may use splicing and a linear discriminate analysis(LDA)-based projection, which may include heteroscedastic lineardiscriminant analysis or a global semi-tied covariance transform (alsoknown as maximum likelihood linear transform [MLLT]). In some cases, anautomatic speech recognition process may use discriminative trainingtechniques, which may dispense with a purely statistical approach to HMMparameter estimation and instead optimize some classification-relatedmeasure of training data; examples may include maximum mutualinformation (MMI), minimum classification error (MCE), and minimum phoneerror (MPE).

Still referring to FIG. 1 , in some embodiments, an automatic speechrecognition process may be said to decode speech (i.e., audible verbalcontent). Decoding of speech may occur when an automatic speechrecognition system is presented with a new utterance and must compute amost likely sentence. In some cases, speech decoding may include aViterbi algorithm. A Viterbi algorithm may include a dynamic programmingalgorithm for obtaining a maximum a posteriori probability estimate of amost likely sequence of hidden states (i.e., Viterbi path) that resultsin a sequence of observed events. Viterbi algorithms may be employed incontext of Markov information sources and hidden Markov models. AViterbi algorithm may be used to find a best path, for example using adynamically created combination hidden Markov model, having bothacoustic and language model information, using a statically createdcombination hidden Markov model (e.g., finite state transducer [FST]approach).

Still referring to FIG. 1 , in some embodiments, speech (i.e., audibleverbal content) decoding may include considering a set of goodcandidates and not only a best candidate, when presented with a newutterance. In some cases, a better scoring function (i.e., re-scoring)may be used to rate each of a set of good candidates, allowing selectionof a best candidate according to this refined score. In some cases, aset of candidates can be kept either as a list (i.e., N-best listapproach) or as a subset of models (i.e., a lattice). In some cases,re-scoring may be performed by optimizing Bayes risk (or anapproximation thereof). In some cases, re-scoring may include optimizingfor sentence (including keywords) that minimizes an expectancy of agiven loss function with regards to all possible transcriptions. Forexample, re-scoring may allow selection of a sentence that minimizes anaverage distance to other possible sentences weighted by their estimatedprobability. In some cases, an employed loss function may includeLevenshtein distance, although different distance calculations may beperformed, for instance for specific tasks. In some cases, a set ofcandidates may be pruned to maintain tractability.

Still referring to FIG. 1 , in some embodiments, an automatic speechrecognition process may employ dynamic time warping (DTW)-basedapproaches. Dynamic time warping may include algorithms for measuringsimilarity between two sequences, which may vary in time or speed. Forinstance, similarities in walking patterns would be detected, even if inone video the person was walking slowly and if in another he or she werewalking more quickly, or even if there were accelerations anddeceleration during the course of one observation. DTW has been appliedto video, audio, and graphics—indeed, any data that can be turned into alinear representation can be analyzed with DTW. In some cases, DTW maybe used by an automatic speech recognition process to cope withdifferent speaking (i.e., audible verbal content) speeds. In some cases,DTW may allow computing device 104 to find an optimal match between twogiven sequences (e.g., time series) with certain restrictions. That is,in some cases, sequences can be “warped” non-linearly to match eachother. In some cases, a DTW-based sequence alignment method may be usedin context of hidden Markov models.

Still referring to FIG. 1 , in some embodiments, an automatic speechrecognition process may include a neural network. Neural network mayinclude any neural network, for example those disclosed with referenceto FIG. 5 . In some cases, neural networks may be used for automaticspeech recognition, including phoneme classification, phonemeclassification through multi-objective evolutionary algorithms, isolatedword recognition, audiovisual speech recognition, audiovisual speakerrecognition and speaker adaptation. In some cases. neural networksemployed in automatic speech recognition may make fewer explicitassumptions about feature statistical properties than HMMs and thereforemay have several qualities making them attractive recognition models forspeech recognition. When used to estimate the probabilities of a speechfeature segment, neural networks may allow discriminative training in anatural and efficient manner. In some cases, neural networks may be usedto effectively classify audible verbal content over short-time interval,for instance such as individual phonemes and isolated words. In someembodiments, a neural network may be employed by automatic speechrecognition processes for pre-processing, feature transformation and/ordimensionality reduction, for example prior to HMM-based recognition. Insome embodiments, long short-term memory (LSTM) and related recurrentneural networks (RNNs) and Time Delay Neural Networks (TDNN's) may beused for automatic speech recognition, for example over longer timeintervals for continuous speech recognition.

With continued reference to FIG. 1 , apparatus 100 may recognize verbalcontent not only from speech (i.e., audible verbal content). Forexample, in some cases, audible verbal content recognition may be aidedin analysis of an image component. For instance, in some cases,apparatus 100 may use image content to aid in recognition of audibleverbal content as a viewing a speaker (e.g., lips) as they speak aids incomprehension of his or her speech. In some cases apparatus 100 mayinclude audiovisual speech recognition processes.

Still referring to FIG. 1 , in some embodiments, audio visual speechrecognition (AVSR) may include techniques employing image processingcapabilities in lip reading to aid speech recognition processes. In somecases, AVSR may be used to decode (i.e., recognize) indeterministicphonemes or help in forming a preponderance among probabilisticcandidates. In some cases, AVSR may include an audio-based automaticspeech recognition process and an image-based automatic speechrecognition process. AVSR may combine results from both processes withfeature fusion. Audio-based speech recognition process may analysisaudio according to any method described herein, for instance using aMel-frequency cepstrum coefficients (MFCCs) and/or log-Mel spectrogramderived from raw audio samples. Image-based speech recognition mayperform feature recognition to yield an image vector. In some cases,feature recognition may include any feature recognition processdescribed in this disclosure, for example a variant of a convolutionalneural network. In some cases, AVSR employs both an audio datum and animage datum to recognize verbal content. For instance, audio vector andimage vector may each be concatenated and used to predict speech made byuser 104, who is ‘on camera.’

With continued reference to FIG. 1 , in some embodiments, an imagecomponent may include or otherwise represent verbal content. Forinstance, written or visual verbal content may be included within animage component. In some cases, apparatus 100 may be configured torecognize a keyword as a function of visual verbal content. In somecases, recognizing a keyword may include optical character recognition.

Still referring to FIG. 1 , in some embodiments, optical characterrecognition or optical character reader (OCR) includes automaticconversion of images of written (e.g., typed, handwritten or printedtext) into machine-encoded text. In some cases, recognition of at leasta keyword from an image component may include one or more processes,including without limitation optical character recognition (OCR),optical word recognition, intelligent character recognition, intelligentword recognition, and the like. In some cases, OCR may recognize writtentext, one glyph or character at a time. In some cases, optical wordrecognition may recognize written text, one word at a time, for example,for languages that use a space as a word divider. In some cases,intelligent character recognition (ICR) may recognize written text oneglyph or character at a time, for instance by employing machine-learningprocesses. In some cases, intelligent word recognition (IWR) mayrecognize written text, one word at a time, for instance by employingmachine-learning processes 140.

Still referring to FIG. 1 , in some cases OCR may be an “offline”process, which analyses a static document or image frame. In some cases,handwriting movement analysis can be used as input to handwritingrecognition. For example, instead of merely using shapes of glyphs andwords, this technique may capture motions, such as the order in whichsegments are drawn, the direction, and the pattern of putting the pendown and lifting it. This additional information can make handwritingrecognition more accurate. In some cases, this technology may bereferred to as “online” character recognition, dynamic characterrecognition, real-time character recognition, and intelligent characterrecognition.

Still referring to FIG. 1 , in some cases, OCR processes may employpre-processing of an image component. Pre-processing process may includewithout limitation de-skew, de-speckle, binarization, line removal,layout analysis or “zoning,” line and word detection, scriptrecognition, character isolation or “segmentation,” and normalization.In some cases, a de-skew process may include applying a transform (e.g.,homography or affine transform) to an image component to align text. Insome cases, a de-speckle process may include removing positive andnegative spots and/or smoothing edges. In some cases, a binarizationprocess may include converting an image from color or greyscale toblack-and-white (i.e., a binary image). Binarization may be performed asa simple way of separating text (or any other desired image component)from a background of image component. In some cases, binarization may berequired for example if an employed OCR algorithm only works on binaryimages. In some cases. a line removal process may include removal ofnon-glyph or non-character imagery (e.g., boxes and lines). In somecases, a layout analysis or “zoning” process may identify columns,paragraphs, captions, and the like as distinct blocks. In some cases, aline and word detection process may establish a baseline for word andcharacter shapes and separate words, if necessary. In some cases, ascript recognition process may, for example in multilingual documents,identify script allowing an appropriate OCR algorithm to be selected. Insome cases, a character isolation or “segmentation” process may separatesignal characters, for example character-based OCR algorithms. In somecases, a normalization process may normalize aspect ratio and/or scaleof an image component.

Still referring to FIG. 1 , in some embodiments an OCR process willinclude an OCR algorithm. Exemplary OCR algorithms include matrixmatching process and/or feature extraction processes. Matrix matchingmay involve comparing an image to a stored glyph on a pixel-by-pixelbasis. In some case, matrix matching may also be known as “patternmatching,” “pattern recognition,” and/or “image correlation.” Matrixmatching may rely on an input glyph being correctly isolated from therest of an image component. Matrix matching may also rely on a storedglyph being in a similar font and at a same scale as input glyph. Matrixmatching may work best with typewritten text.

Still referring to FIG. 1 , in some embodiments, an OCR process mayinclude a feature extraction process. As used in this disclosure, a“feature” is an individual measurable property or characteristic. Insome cases, feature extraction may decompose a glyph into a feature.Exemplary non-limiting features may include corners, edges, lines,closed loops, line direction, line intersections, and the like. In somecases, feature extraction may reduce dimensionality of representationand may make the recognition process computationally more efficient. Insome cases, an extracted feature may be compared with an abstractvector-like representation of a character, which might reduce to one ormore glyph prototypes. General techniques of feature detection incomputer vision are applicable to this type of OCR. In some embodiments,a machine-learning process, such as nearest neighbor classifiers (e.g.,k-nearest neighbors algorithm) may be used to compare image featureswith stored glyph features and choose a nearest match. OCR may employany machine-learning process described in this disclosure, for examplemachine-learning processes described with reference to FIG. 6 .Exemplary non-limiting OCR software includes Cuneiform and Tesseract.Cuneiform is a multi-language, open-source optical character recognitionsystem originally developed by Cognitive Technologies of Moscow, Russia.Tesseract is free OCR software originally developed by Hewlett-Packardof Palo Alto, California, United States.

Still referring to FIG. 1 , in some cases, OCR may employ a two-passapproach to character recognition. Second pass may include adaptiverecognition and use letter shapes recognized with high confidence on afirst pass to recognize better remaining letters on the second pass. Insome cases, two-pass approach may be advantageous for unusual fonts orlow-quality image components where visual verbal content may bedistorted. Another exemplary OCR software tool include OCRopus. OCRopusdevelopment is led by German Research Centre for Artificial Intelligencein Kaiserslautern, Germany. In some cases, OCR software may employneural networks, for example neural networks as taught in reference toFIG. 5 .

Still referring to FIG. 1 , in some cases, OCR may includepost-processing. For example, OCR accuracy can be increased, in somecases, if output is constrained by a lexicon. A lexicon may include alist or set of words that are allowed to occur in a document. In somecases, a lexicon may include, for instance, all the words in the Englishlanguage, or a more technical lexicon for a specific field. In somecases, an output stream may be a plain text stream or file ofcharacters. In some cases, an OCR process may preserve an originallayout of visual verbal content. In some cases, near-neighbor analysiscan make use of co-occurrence frequencies to correct errors, by notingthat certain words are often seen together. For example, “Washington,D.C.” is generally far more common in English than “Washington DOC.” Insome cases, an OCR process may make us of a priori knowledge of grammarfor a language being recognized. For example, grammar rules may be usedto help determine if a word is likely to be a verb or a noun. Distanceconceptualization may be employed for recognition and classification.For example, a Levenshtein distance algorithm may be used in OCRpost-processing to further optimize results.

With continued reference to FIG. 1 , in some embodiments, apparatus 100may extract or otherwise recognize a feature. A feature may berecognized and/or extracted from an image component and/or audiocomponent of a skill evaluation. In some cases, features may berecognized, which are associated with non-verbal content. For example,in some cases, visual non-verbal content such as expression of asubject's emotion may be represented by a number of features which arereadily extracted from an image component of a skill evaluation. In somecases, recognition and/or extraction of features from image componentmay include use of machine vision techniques.

Still referring to FIG. 1 , in some embodiments, apparatus 100 mayinclude a machine vision process. A machine vision process may use animage component from a skill evaluation, to make a determination aboutverbal and/or non-verbal content. For example, in some cases a machinevision process may be used for world modeling or registration of objectswithin a space. In some cases, registration and/or a feature recognitionmay include image processing, such as without limitation objectrecognition, feature detection, edge/corner detection, and the like.Non-limiting examples of feature detection may include scale invariantfeature transform (SIFT), Canny edge detection, Shi Tomasi cornerdetection, and the like. In some cases, a machine vision process mayoperate image classification and segmentation models, such as withoutlimitation by way of machine vision resource (e.g., OpenMV or TensorFlowLite). A machine vision process may detect motion, for example by way offrame differencing algorithms. A machine vision process may detectmarkers, for example blob detection, object detection, face detection,and the like. In some cases, a machine vision process may perform eyetracking (i.e., gaze estimation). In some cases, a machine visionprocess may perform person detection, for example by way of a trainedmachine learning model. In some cases, a machine vision process mayperform motion detection (e.g., camera motion and/or object motion), forexample by way of optical flow detection. In some cases, machine visionprocess may perform code (e.g., barcode) detection and decoding. In somecases, a machine vision process may additionally perform image captureand/or video recording.

Still referring to FIG. 1 , in some cases, a machine vision process mayperform pose-estimation for example to ascertain a relative location ormovement of objects within a skill evaluation. Pose-estimation mayinclude one or more transformations, for example to a view of a frame(or an image of a skill evaluation) relative a three-dimensionalcoordinate system; exemplary transformations include without limitationhomography transforms and affine transforms. In an embodiment,registration of first frame to a coordinate system may be verifiedand/or corrected using object identification and/or computer vision, asdescribed above. For instance, and without limitation, an initialregistration to two dimensions, represented for instance as registrationto the x and y coordinates, may be performed using a two-dimensionalprojection of points in three dimensions onto a first frame, however. Athird dimension of registration, representing depth and/or a z axis, maybe detected by comparison of two frames; image recognition and/or edgedetection software may be used to detect a multiple views of images ofan object (from subsequent frames) to derive a relative position along athird (z) axis. In some cases, a skill evaluation may include a stereoimage, having two stereoscopic views, which may be compared to derivez-axis values of points on object permitting, for instance, derivationof further z-axis points within and/or around the object usinginterpolation. Alternatively or additionally, relative movement withinan image component (e.g., frame to frame) may be used to ascertainpositions of objects, even along a z-axis, for instance by way ofkinetic parallax. In some cases, relative motion of objects further awaymay occur at a different speed than objects nearby, this phenomenon maybe used to ascertain a position of objects relative a camera, forexample when the camera is moving. Object recognition and poseestimation may be repeated with multiple objects in field of view,including without user 104. In an embodiment, x and y axes may be chosento span a plane common to a field of view of a camera used for a skillevaluation image capturing and/or an xy plane of a first frame; aresult, x and y translational components and q may be pre-populated intranslational and rotational matrices, for affine transformation ofcoordinates of object, also as described above. Initial x and ycoordinates and/or guesses at transformational matrices mayalternatively or additionally be performed between first frame andsecond frame, as described above. For each point of a plurality ofpoints on object and/or edge and/or edges of object as described above,x and y coordinates of a first frame may be populated, with an initialestimate of z coordinates based, for instance, on assumptions aboutobject, such as an assumption that ground is substantially parallel toan xy plane as selected above. Z coordinates, and/or x, y, and zcoordinates, registered using image capturing and/or objectidentification processes as described above may then be compared tocoordinates predicted using initial guess at transformation matrices; anerror function may be computed using by comparing the two sets ofpoints, and new x, y, and/or z coordinates, may be iteratively estimatedand compared until the error function drops below a threshold level.

Still referring to FIG. 1 , in some cases, a machine vision process mayuse a classifier, such as any classifier described throughout thisdisclosure, for example with reference to FIG. 5 . A feature recognitionmay include any feature recognition processes described in thisdisclosure. In some cases, features may be representative of anattribute of user 104. Attributes which may be ascertained from featuresinclude manner of dress, environment around user 104, facial expressionof user 104, tone of voice of user 104, and the like. Recognition and/orextraction of features may include pre- and/or post-procession. Pre-and/or post-processing may include any pre-processing and/orpost-processing processes described in this disclosure. In some cases, aclassifier may classify one or more of non-verbal content, imagecomponents, audio components, and features to a keyword.

Still referring to FIG. 1 , keywords and/or features, in some cases, maybe forms of user-specific data, that is they represent informationassociated with an individual user 104, for example attributes of user104. In some cases, user-specific data, such as without limitation avideo, image component, audio component, keywords, and/or features maybe represented and/or processed as a signal. As used in this disclosure,a “signal” is any intelligible representation of data, for example usedto convey data from one device to another. A signal may include anoptical signal, a hydraulic signal, a pneumatic signal, a mechanical,signal, an electric signal, a digital signal, an analog signal and thelike. In some cases, a signal may be used to communicate with apparatus100, for example by way of one or more ports. In some cases, a signalmay be transmitted and/or received by a computing device for example byway of an input/output port. An analog signal may be digitized, forexample by way of an analog to digital converter. In some cases, ananalog signal may be processed, for example by way of any analog signalprocessing steps described in this disclosure, prior to digitization. Insome cases, a digital signal may be used to communicate between two ormore devices, including without limitation computing devices. In somecases, a digital signal may be communicated by way of one or morecommunication protocols, including without limitation internet protocol(IP), controller area network (CAN) protocols, serial communicationprotocols (e.g., universal asynchronous receiver-transmitter [UART]),parallel communication protocols (e.g., IEEE 128 [printer port]), andthe like.

Still referring to FIG. 1 , in some cases, apparatus 100 may perform oneor more signal processing steps on a signal. For instance, apparatus 100may analyze, modify, and/or synthesize a signal representative of datain order to improve the signal, for instance by improving transmission,storage efficiency, or signal to noise ratio. Exemplary methods ofsignal processing may include analog, continuous time, discrete,digital, nonlinear, and statistical. Analog signal processing may beperformed on non-digitized or analog signals. Exemplary analog processesmay include passive filters, active filters, additive mixers,integrators, delay lines, compandors, multipliers, voltage-controlledfilters, voltage-controlled oscillators, and phase-locked loops.Continuous-time signal processing may be used, in some cases, to processsignals which varying continuously within a domain, for instance time.Exemplary non-limiting continuous time processes may include time domainprocessing, frequency domain processing (Fourier transform), and complexfrequency domain processing. Discrete time signal processing may be usedwhen a signal is sampled non-continuously or at discrete time intervals(i.e., quantized in time). Analog discrete-time signal processing mayprocess a signal using the following exemplary circuits sample and holdcircuits, analog time-division multiplexers, analog delay lines andanalog feedback shift registers. Digital signal processing may be usedto process digitized discrete-time sampled signals. Commonly, digitalsignal processing may be performed by a computing device or otherspecialized digital circuits, such as without limitation an applicationspecific integrated circuit (ASIC), a field-programmable gate array(FPGA), or a specialized digital signal processor (DSP). Digital signalprocessing may be used to perform any combination of typicalarithmetical operations, including fixed-point and floating-point,real-valued and complex-valued, multiplication and addition. Digitalsignal processing may additionally operate circular buffers and lookuptables. Further non-limiting examples of algorithms that may beperformed according to digital signal processing techniques include fastFourier transform (FFT), wavelet transform, finite impulse response(FIR) filter, infinite impulse response (IIR) filter, and adaptivefilters such as the Wiener and Kalman filters. Statistical signalprocessing may be used to process a signal as a random function (i.e., astochastic process), utilizing statistical properties. For instance, insome embodiments, a signal may be modeled with a probabilitydistribution indicating noise, which then may be used to reduce noise ina processed signal.

Still referring to FIG. 1 , apparatus 100 may be configured to measureperformance data 108 from user 104 performing a skill evaluation.Performance data 108 may be measured from a skill evaluation of user 104through any data extraction processes as described above. “Performancedata” as used in this disclosure is a metric pertaining to an evaluationof an entity. Performance data 108 may include vocal responses. Vocalresponses may include, but are not limited to, answers to questions,tone of voice, inflection, annunciation, pronunciation, volume level,and the like. In some embodiments, performance data 108 may include aperiod of time between a prompt and a vocal response of user 104. Insome embodiments, performance data 108 may include facial movements.Facial movements may include, but are not limited to, expressions, microexpressions, eye contact, and the like. In some embodiments, performancedata 108 may include a length of a skill evaluation. A length of a skillevaluation may include, but is not limited to, an overall period of timeof a duration of a skill evaluation. As a non-limiting example, a skillevaluation may last over two hours, which may indicate a favorableperformance of user 104. As another non-limiting example, a skillevaluation may last only 45 minutes, which may indicate an unfavorableperformance of user 104. In some embodiments, a shorter skill evaluationmay indicate a favorable performance of user 104, such as if one or moreparticipants of a skill evaluation deem user 104 to be a great fit for aposting in a quick time. In some embodiments, performance data 108 mayinclude an engagement level of other participants of a skill evaluation.An engagement level may include a frequency and/or duration ofinteraction between user 104 and one or more other participants of askill evaluation. Performance data 108 may include content of responses.Content of responses may include, but is not limited to, userinformation conveyed through a response, technical skill level of aresponse, and the like.

Still referring to FIG. 1 , apparatus 100 may be configured to determinemeasured performance 112 as a function of performance data 108. A“measured performance” as used in this disclosure is a calculatedevaluation of an entity. Measured performance 112 may include, but isnot limited to, high evaluation, average evaluation, low evaluation, andthe like. Measured performance 112 may include a scored performance,such as but not limited to, a value out of 5, a value out of 10, a valueout of 100, and the like. In some embodiments, measured performance 112may include one or more subcategories of performance, such as, but notlimited to, social interactions, technical skill, participantengagement, and the like. As a non-limiting example, measuredperformance 112 may include a value of 3 out of 5 for socialinteraction, 4 out of 5 for technical skill, and 2 out of 5 forparticipant engagement. In some embodiments, apparatus 100 may compareperformance data 108 to performance parameter 116 to determine measuredperformance 112. In other embodiments, apparatus 100 may comparemeasured performance 112 to performance parameter 116. A “performanceparameter” as used in this disclosure is a criteria relating to a skillevaluation. Performance parameter 116 may include, but is not limitedto, technical skills, sociability, response time, and the like. In someembodiments, performance parameter 116 may include an ideal response. An“ideal response” as used in this disclosure is a best answer to aprompt. As a non-limiting example, a prompt from a participant of askill evaluation may ask a user “How long have you programmed in Swift?”to which an ideal response may be “I have been programming in Swift forfive years”. An ideal response may be generated by an ideal responsemachine learning model. An ideal response machine learning model may betrained with training data correlating skill evaluation prompts to idealresponses. Training data may be received through user input, externalcomputing devices, and/or previous iterations of processing. An idealresponse machine learning model may be configured to input skillevaluations and output ideal responses. Apparatus 100 may use an idealresponse machine learning model to determine an ideal response ofperformance parameter 116.

In some embodiments, and still referring to FIG. 1 , apparatus 100 mayuse an objective function to compare measured performance 112 toperformance parameter 116. An “objective function” as used in thisdisclosure is a process of minimizing or maximizing one or more valuesbased on a set of constraints. Apparatus 100 may generate an objectivefunction to optimize a comparison of measured performance 112 toperformance parameter 116. In some embodiments, an objective function ofapparatus 100 may include an optimization criterion. An optimizationcriterion may include any description of a desired value or range ofvalues for one or more attributes of a performance parameter; desiredvalue or range of values may include a maximal or minimal value, a rangebetween maximal or minimal values, or an instruction to maximize orminimize a performance parameter. As a non-limiting example, anoptimization criterion may specify that a measured performance should bewithin an 8% difference of a performance parameter; an optimizationcriterion may cap a difference of a measured performance and aperformance parameter, for instance specifying that a measuredperformance must not have a difference from a performance parametergreater than a specified value. An optimization criterion may specifyone or more tolerances for differences in performance parameters. Anoptimization criterion may specify one or more desired performancecriteria for a measured performance. In an embodiment, an optimizationcriterion may assign weights to different performance parameters orvalues associated with performances; weights, as used herein, may bemultipliers or other scalar numbers reflecting a relative importance ofa particular performance parameter or value. One or more weights may beexpressions of value to a user of a particular outcome, performancevalue, or other facet of a matching process; value may be expressed, asa non-limiting example, in remunerative form, such as a quickest match,a strongest match, or the like. As a non-limiting example, minimizationof differences of a measured performance and one or more performanceparameters may be multiplied by a first weight, while tolerance above acertain value may be multiplied by a second weight. Optimizationcriteria may be combined in weighted or unweighted combinations into afunction reflecting an overall outcome desired by a user; a function maybe a performance function to be minimized and/or maximized. A functionmay be defined by reference to performance criteria constraints and/orweighted aggregation thereof as provided by apparatus 100; for instance,a performance parameter function combining optimization criteria mayseek to minimize or maximize a function of performance parametermatching.

Still referring to FIG. 1 , apparatus 100 may use an objective functionto compare measured performance 112 to performance parameter 116.Generation of an objective function may include generation of a functionto score and weight factors to achieve a performance score for eachfeasible pairing. In some embodiments, pairings may be scored in amatrix for optimization, where columns represent measured performancesand rows represent performance parameters potentially paired therewith;each cell of such a matrix may represent a score of a pairing of thecorresponding measured performance to the corresponding performanceparameter. In some embodiments, assigning a predicted process thatoptimizes the objective function includes performing a greedy algorithmprocess. A “greedy algorithm” is defined as an algorithm that selectslocally optimal choices, which may or may not generate a globallyoptimal solution. For instance, apparatus 100 may select pairings sothat scores associated therewith are the best score for each measuredperformance match and/or for each performance parameter. In such anexample, optimization may determine the combination of measuredperformance matches such that each performance parameter pairingincludes the highest score possible.

Still referring to FIG. 1 , an objective function may be formulated as alinear objective function. Apparatus 100 may solve an objective functionusing a linear program such as without limitation a mixed-integerprogram. A “linear program,” as used in this disclosure, is a programthat optimizes a linear objective function, given at least a constraint.For instance, and without limitation, objective function may seek tomaximize a total score Y. Σ_(r∈R) Σ_(s∈S) c_(rs)x_(rs), where R is a setof all measured performances r, S is a set of all performance parameterss, c_(rs) is a score of a pairing of a given measured performance with agiven match, and x_(rs) is 1 if a measured performance r is paired witha performance parameter s, and 0 otherwise. Continuing the example,constraints may specify that each measured performance is assigned toonly one performance parameter, and each performance parameter isassigned only one measured performance. Measured performances andperformance parameters may include measured performances and performanceparameters as described above. Sets of performance parameters may beoptimized for a maximum score combination of all generated performanceparameters. In various embodiments, apparatus 100 may determine acombination of measured performances that maximizes a total scoresubject to a constraint that all measured performances are paired toexactly one performance parameter. Not all performance parameters mayreceive a measured performance pairing since each performance parametermay only produce one measured performance. In some embodiments, anobjective function may be formulated as a mixed integer optimizationfunction. A “mixed integer optimization” as used in this disclosure is aprogram in which some or all of the variables are restricted to beintegers. A mathematical solver may be implemented to solve for the setof feasible pairings that maximizes the sum of scores across allpairings; mathematical solver may be implemented on apparatus 100 and/oranother device, and/or may be implemented on third-party solver.

With continued reference to FIG. 1 , optimizing an objective functionmay include minimizing a loss function, where a “loss function” is anexpression an output of which an optimization algorithm minimizes togenerate an optimal result. As a non-limiting example, apparatus 100 mayassign variables relating to a set of parameters, which may correspondto score performance parameters as described above, calculate an outputof mathematical expression using the variables, and select a pairingthat produces an output having the lowest size, according to a givendefinition of “size,” of the set of outputs representing each ofplurality of measured performance combinations; size may, for instance,included absolute value, numerical size, or the like. Selection ofdifferent loss functions may result in identification of differentpotential pairings as generating minimal outputs. Objectives representedin an objective function and/or loss function may include minimizationof differences between performance parameters and measured performances.Objectives may include minimization of time in between responses of ameasured performance. Objectives may include maximization of sociabilityscores of a measured performance.

Still referring to FIG. 1 , apparatus 100 may use an objective functionto compare measured performance 112 to performance parameter 116. As anon-limiting example, apparatus 100 may compare an engagement level of aparticipant of a skill evaluation of measured performance 112 to anideal engagement level of a skill evaluation of a participant ofperformance parameter 116. In some embodiments, apparatus 100 maydetermine querying criteria for search query 120 as a function of acomparison of measured performance 112 to performance parameter 116. Asa non-limiting example, a comparison of measured performance 112 toperformance parameter 116 may indicate a low sociability and hightechnical knowledge of user 104. In some embodiments, an objectivefunction may include measured performance 112 and/or performanceparameter 116 as inputs, and output a score to maximize and/or minimize.Apparatus 100 may determine querying criteria to include low sociabilityand high technical knowledge. Apparatus 100 may generate search query120 as a function of querying criteria determined from a comparison ofmeasured performance 112 to performance parameter 116. In someembodiments, apparatus 100 may compare measured performance 112 to apre-selected performance parameter 116 to determine an overall score ofmeasured performance 112. In some embodiments, apparatus 100 maydetermine performance parameters 116 based on previous iterations ofprocessing, other user performances, and the like. Performance parameter116 may be tuned by a machine learning model, such as a machine learningmodel described in FIG. 7 .

Still referring to FIG. 1 , apparatus 100 may generate a user profile ofuser 104 as a function of measured performance 112. A “user profile” asused in this disclosure is an overall summary of an individual. A userprofile may include attributes of user 104 which may be determinedthrough measured performance 112. Attributes may include, but are notlimited to, sociability, technical knowledge, work ethic, self-teachingskills, and the like. Apparatus 100 may update a user profile as afunction of iterations of measured performances 112. Apparatus 100 maygenerate search query 120 as a function of a user profile, which mayseek to match user profile data of a user profile to postingdescriptions of postings 124. In some embodiments, apparatus 100 maycompare a user profile to other user profiles of users performingsimilar skill evaluations for similar postings 124. In some embodiments,apparatus 100 may generate a user profile as a function of a userprofile machine learning model. A user profile machine learning modelmay be trained with training data correlating measured performances touser profiles. Training data may be received from user input, externalcomputing devices, and/or previous iterations of processing. A userprofile machine learning model may be configured to input measuredperformances 112 and output user profiles. In some embodiments,apparatus 100 may categorize and/or classify elements of performancedata 108, measured performance 12, and/or a user profile. For instanceand without limitation, apparatus 100 may classify elements ofperformance data 108 to groups and/or subgroups such as social skills,engagement levels, technical knowledge, and the like. Apparatus 100 mayuse any classifier and/or categorizing process as described in thisdisclosure.

Still referring to FIG. 1 , in some embodiments, apparatus 100 maygenerate search query 120. A “search query” as used in this disclosureis a function that retrieves data based on a criteria. In some cases,apparatus 100 may associate user 104 with a posting 124 by performing atext retrieval process as a function of a keyword through search query120. In some embodiments, text searching may include querying, such asgenerating search query 120. In some cases, search query 120 may includeany number of querying tools, including without limitation keywords (asdescribed above), field-restricted search, Boolean queries, phrasesearch, concept search, concordance search, proximity search, regularexpression, fuzzy search, wildcard search, and the like. In some cases,keywords may be used to perform a query. In some cases, a documentcreator (or trained indexers) may supply a list of words that describesubject of the document, including without limitation synonyms of wordsthat describe the subject. In some cases, keywords may improve recall,for instance if the keyword list includes a keyword that is not in textof a document. In some cases, querying tools may includefield-restricted search. A field-restricted search may allow a queriesscope to be limited to within a particular field within a stored datarecord, such as “Title” or “Author.” In some cases, a query tool mayinclude Boolean queries. Searches that use Boolean operators (forexample, “encyclopedia” AND “online” NOT “Encarta”) can dramaticallyincrease precision of a search. In some cases, an AND operator may say,in effect, “Do not retrieve any document unless it contains both ofthese terms.” In some cases, a NOT operator may say, in effect, “Do notretrieve any document that contains this word.” In some cases, aretrieval list retrieving too few documents, may prompt and OR operatorto be used in place of an AND operator to increase recall; consider, forexample, “encyclopedia” AND “online” OR “Internet” NOT “Encarta”. Thissearch will retrieve documents about online encyclopedias that use theterm “Internet” instead of “online.” In some cases, search precision andrecall are interdependent and negatively correlated in text searching.In some cases, a query tool may include phrase search. In some cases, aphrase search may match only those documents that contain a specifiedphrase. In some cases, a query tool may include a concept search. Insome cases, a concept search may be based on multi-word concepts, forexample compound term processing. In some cases, a query tool mayinclude a concordance search. In some cases, a concordance search mayproduce an alphabetical list of all principal words that occur in a textand may include their immediate context. In some cases, a query tool mayinclude a proximity search. In some cases, a proximity search matchesonly those documents that contain two or more words that are separatedby a specified number of words, are in the same sentence, or an in thesame paragraph. A query tool may include a regular expression. In somecases, a regular expression may employ a complex but powerful queryingsyntax that can be used to specify retrieval conditions with precision,for instance database syntax. A query tool may include a fuzzy search.In some cases, a fuzzy search may search for a document that matchesgiven terms while allowing for some variation around them. In somecases, a query tool may include a wildcard search. In some cases, awildcard search may substitute one or more characters in a search queryfor a wildcard character such as an asterisk. For example, using awildcard, such as an asterisk, in a search query “s*n” will search forterms inclusive of “sin,” “son,” “sun,” and the like.

Still referring to FIG. 1 , apparatus 100 may generate search query 120as a function of measured performance 112 and/or performance parameter116. Search query 120 may search through the Internet for semanticelements matching measured performance 112 and/or performance parameter116. Search query 120 may search through a posting database. A “postingdatabase” as used in this disclosure is a collection of data pertainingto career openings. Career openings may include, but are not limited to,advertisements, employer postings, unannounced positions, and the like.Search query 120 may include querying criteria. “Querying criteria” asused in this disclosure are parameters that constrain a search. Queryingcriteria may include a similarity of measured performance 112 and/orperformance parameter 116 to a posting 124 of a posting database. Asimilarity may be determined by a clustering algorithm, optimizationmodel, and the like. Querying criteria may be tuned by a machinelearning model, such as a machine learning model described below in FIG.7 .

Still referring to FIG. 1 , generating search query 120 may includegenerating a web crawler function. Search query 120 may be configured tosearch for one or more keywords, key phrases, and the like. A keywordmay be used by search query 120 to filter potential results from aquery. As a non-limiting example, a keyword may include “remote”. Searchquery 120 may be configured to generate one or more key words and/orphrases as a function of performance parameter 116 and/or measuredperformance 112. Search query 120 may give a weight to one or more querycriteria. “Weights”, as used herein, may be multipliers or other scalarnumbers reflecting a relative importance of a particular attribute orvalue. A weight may include, but is not limited to, a numerical valuecorresponding to an importance of an element. In some embodiments, aweighted value may be referred to in terms of a whole number, such as 1,100, and the like. As a non-limiting example, a weighted value of 0.2may indicated that the weighted value makes up 20% of the total value.In some embodiments, query 116 may be configured to filter out one ormore “stop words” that may not convey meaning, such as “of,” “a,” “an,”“the,” or the like.

With continued reference to FIG. 1 , in some embodiments, search query120 may be performed with a test search, for example using a keyword asa search term. A text search may include techniques for searching asingle computer-stored document or a collection of documents, forexample in a database. A text search may include full-text search.Full-text search may be distinguished from searches based on metadata oron field-based searching (e.g., fields such as titles, abstracts,selected sections, or bibliographical references). In an exemplaryfull-text search, apparatus 100 may examine all words in every storeddocument as apparatus 100 tries to match search criteria (for example,keywords). Alternatively, a text search may be limited to fields, suchas with field-based searching.

Still referring to FIG. 1 , apparatus 100 may generate search query 120to query postings 124 for presence of a keyword. Querying postings 124may include one or more of word searching, phrase searching, proximitysearching, full-text searching, field (or metadata) searching, and thelike. In some cases, each posting 124 may include a posting keyword. Asused in this disclosure, a “posting keyword” is a word that is ofparticular relevance to an opportunity listing description. In somecases, associating user 104 with posting 124 may include comparing akeyword from a skill evaluation with a posting 124 keyword.

Still referring to FIG. 1 , apparatus 100 may generate search query 120to find a better fit of a posting 124 for user 104 based on measuredperformance 112 and/or performance data 108 determined from a skillevaluation of user 104. A better fit may include a posting 124 that moreclosely matches favorable attributes of user 104, which may bedetermined by measured performance 112. As a non-limiting example,measured performance 112 may indicate user 104 performed well in a skillevaluation socially, but may have lacked technical knowledge. Searchquery 120 may filter through a posting database to find a posting 124that requires high sociability and lower technical knowledge. In someembodiments, search query 120 may associate user 104 with one or morepostings 124. In some cases association of user 104 with postings 124may include one or more of a machine-learning process and/or aclassifier. A machine-learning process may include any machine-learningprocess described in this disclosure, for example with reference to FIG.7 . A classifier may include any classifier described in thisdisclosure, for example with reference to FIG. 7 . In some cases,apparatus 100 may associate use 104 with posting 124 as a function ofmeasured performance 112. As described above, measured performance 112may represent non-verbal content from a skill evaluation. Measuredperformance 112 may be correlated to postings 124, for example by way ofone or more models (e.g., machine-learning models). In some cases,apparatus 100 may associate user 104 with one or more postings 124 bycorrelating, matching, or otherwise comparing user-specific data withdescription-specific data. In some cases, one or both of user-specificdata and description-specific data may be at least partially representedby features which are inputs and/or outputs of machine-learningprocesses. For example, a machine-learning model may be trained withdeterministic or historical subject-specific data correlated todescription-specific data. For example, posting descriptions (previouslyfilled) may be correlated with user-specific data associated withemployees who filled the posting description, and optionally a measureof their success in the role (e.g., years in position, reason forleaving, and the like).

With continued reference to FIG. 1 , apparatus 100 may associate user104 with a posting description of postings 124. A “posting,” as used inthis disclosure, is a communication of a job position for which aprospective employer is seeking or may be seeking one or more candidatesto potentially fill the job position. Apparatus 100 may search one ormore databases for postings 124. A posting may include information aboutthe employer such as the employer's name and address; compensation suchas a salary, an hourly wage, and/or benefits; a title of the jobposition; geographical location of where the job will be performedand/or whether the job is to be performed remotely; a description of thejob position such as a listing of responsibilities, expectations, and/orgoals to be accomplished; criteria; and/or the like. A job position maybe part-time and/or full-time. A job position may be as an employeeand/or contractor. As used in this disclosure, “criteria,” are skills,accreditations, a minimum grade point average (GPA), degree, majorand/or focus of study, and/or experience. Criteria may includerequirements and/or preferences. As used in this disclosure, a“requirement” is a criterion that must be satisfied for a prospectiveemployee to be eligible for consideration for a posting. As used in thisdisclosure, a “preference” is a desired criterion, but it is notrequired for a prospective employee to be considered for a posting. Asused in this disclosure, a “posting description” is a representation ofa function; a person may be required to perform, oversee, or be involvedwith the function. In some cases, a posting description may include anumber of fields, for example a unique identifier, a title, requiredattributes, desired attributes, explanation of role, explanation ofbenefits, location of job, organization (e.g., company) associated withthe posting description, and the like. In some cases, a postingdescription may be represented by description-specific data. As used inthis disclosure, “description-specific data” is information associatedwith a specific posting description. In some cases, description-specificdata may include information of a posting description as well as anyinformation derived directly or indirectly from the posting description.In some cases, description-specific data may be generated throughanalysis and/or pre-processing of a posting description.

With continued reference to FIG. 1 , apparatus 100 may associate user104 with at least a posting description, for example as a function ofuser-specific data (e.g., one or more of a keyword and a feature). Insome cases, associating user 104 with a posting description may includeuse of user-specific data and description-specific data. For example, insome cases, associating user 104 with a posting description may includea text retrieval process comparing subject-specific data withdescription-specific data. Document retrieval may include matching ofsome query against a set of records, for instance text-based records. Insome cases, records could be any type of structured or unstructuredtext, such as job descriptions. In some cases, document retrieval may bereferred to as, or as a branch of, text retrieval. “Text retrieval,” asused in this disclosure, is information retrieval where the informationhas a text component.

Still referring to FIG. 1 , in some embodiments, associating user 104with postings 124 may additionally include classifying, using at least acandidate classifier, user 104 to postings 124. As used in thisdisclosure, a “candidate classifier” is a classifier that classifiesuser 104 to postings 124 or vice versa. A candidate classifier mayinclude any classifier described in this disclosure, including withreference to FIG. 7 . In some cases, a candidate classifier may includea trained machine-learning model, which is trained using candidatetraining data. As used in this disclosure, “candidate training data” isa training data that correlates one or more of users 104, user-specificdata, and user attributes, to one or more of postings 124,description-specific data, and posting description data. As used in thisdisclosure, a “posting description data” is an element of informationassociated with a posting 124 description. In some cases, candidatetraining data may include deterministic and/or historical data. Forexample, candidate training data may include user-specific data for anumber of users who successfully fill positions correlated withdescription-specific data related to posting 124 descriptions for thesuccessfully filled positions. In some cases, a measure of success maybe quantitative, for example number of years working in a position,advancement from position, positive compensation changes (e.g., raises),and the like. Alternatively or additionally, in some cases, a measure ofsuccess may be qualitative, for example a survey from a supervisor, aself-assessment and the like.

Still referring to FIG. 1 , in some embodiments, apparatus 100 may befurther configured to determine a relevance as a function of associationbetween user 104 and posting 124. As used in this disclosure,“relevance” is a measure of closeness of association, for examplebetween user 104 and a posting 124. In some cases, relevance may bedetermined by one or more processes for associating user 104 with aposting 124. For example, in some cases, a candidate classifier mayoutput a confidence metric that is indicate of confidence associatedwith a classification of a user 104 to a posting 124. In some cases,confidence metric may be a measure of relevance. In some cases relevancemay be a quantified metric, for example in arbitrary units or relativeunits (e.g., percent). In some cases, a candidate classifier may use adistance-based classification algorithm (e.g., k nearest neighbor,vector similarity, and the like). Where a distance-based classificationalgorithm is used, distance may be used directly or indirectly as aconfidence metric.

Still referring to FIG. 1 , in some embodiments, search query 120 mayinclude an index classifier. In an embodiment, an index classifier mayinclude a classifier. A “classifier,” as used in this disclosure is amachine-learning model, such as a mathematical model, neural net, orprogram generated by a machine learning algorithm known as a“classification algorithm,” as described in further detail below, thatsorts inputs into categories or bins of data, outputting the categoriesor bins of data and/or labels associated therewith. An index classifiermay include a classifier configured to input semantic elements andoutput web search indices. A “web search index,” as defined in thisdisclosure is a data structure that stores uniform resource locators(URLs) of web pages together with one or more associated data that maybe used to retrieve URLs by querying the web search index; associateddata may include keywords identified in pages associated with URLs byprograms such as web crawlers and/or “spiders.” A web search index mayinclude any data structure for ordered storage and retrieval of data,which may be implemented as a hardware or software module. A web searchindex may be implemented, without limitation, as a relational database,a key-value retrieval datastore such as a NOSQL database, or any otherformat or structure for use as a datastore that a person skilled in theart would recognize as suitable upon review of the entirety of thisdisclosure. Data entries in a web search index may be flagged with orlinked to one or more additional elements of information, which may bereflected in data entry cells and/or in linked tables such as tablesrelated by one or more indices in a relational database. Persons skilledin the art, upon reviewing the entirety of this disclosure, will beaware of various ways in which data entries in a web search index mayreflect categories, cohorts, and/or populations of data consistentlywith this disclosure. In an embodiment, a web search query at a searchengine may be submitted as a query to a web search index, which mayretrieve a list of URLs responsive to the query. In some embodiments,apparatus 100 may be configured to generate query 116 based on afreshness and/or age of a query result. A freshness may include anaccuracy of a query result. An age may include a metric of how outdateda query result may be. In some embodiments, a computing device maygenerate a web crawler configured to search the Internet for opportunitylistings, such as, but not limited to, job postings and the like. As anon-limiting example, search query 120 may include a web crawlerconfigured to search and/or index information of words and/or phrases ofpostings 124 having a similarity to performance parameters 116 and/ormeasured performances 112.

Still referring to FIG. 1 , apparatus 100 and/or another device maygenerate an index classifier using a classification algorithm, definedas a process whereby a computing device derives a classifier fromtraining data. Classification may be performed using, withoutlimitation, linear classifiers such as without limitation logisticregression and/or naive Bayes classifiers, nearest neighbor classifierssuch as k-nearest neighbors classifiers, support vector machines, leastsquares support vector machines, fisher's linear discriminant, quadraticclassifiers, decision trees, boosted trees, random forest classifiers,learning vector quantization, and/or neural network-based classifiers.Training data may include data containing correlations that amachine-learning process may use to model relationships between two ormore categories of data elements. For instance, and without limitation,training data may include a plurality of data entries, each entryrepresenting a set of data elements that were recorded, received, and/orgenerated together; data elements may be correlated by shared existencein a given data entry, by proximity in a given data entry, or the like.Multiple data entries in training data may evince one or more trends incorrelations between categories of data elements; for instance, andwithout limitation, a higher value of a first data element belonging toa first category of data element may tend to correlate to a higher valueof a second data element belonging to a second category of data element,indicating a possible proportional or other mathematical relationshiplinking values belonging to the two categories. Multiple categories ofdata elements may be related in training data according to variouscorrelations; correlations may indicate causative and/or predictivelinks between categories of data elements, which may be modeled asrelationships such as mathematical relationships by machine-learningprocesses as described in further detail below. Training data may beformatted and/or organized by categories of data elements, for instanceby associating data elements with one or more descriptors correspondingto categories of data elements. As a non-limiting example, training datamay include data entered in standardized forms by persons or processes,such that entry of a given data element in a given field in a form maybe mapped to one or more descriptors of categories. Elements in trainingdata may be linked to descriptors of categories by tags, tokens, orother data elements; for instance, and without limitation, training datamay be provided in fixed-length formats, formats linking positions ofdata to categories such as comma-separated value (CSV) formats and/orself-describing formats such as extensible markup language (XML),enabling processes or devices to detect categories of data.

Alternatively or additionally, and still referring to FIG. 1 , trainingdata may include one or more elements that are not categorized; that is,training data may not be formatted or contain descriptors for someelements of data. Machine-learning algorithms and/or other processes maysort training data according to one or more categorizations using, forinstance, natural language processing algorithms, tokenization,detection of correlated values in raw data and the like; categories maybe generated using correlation and/or other processing algorithms. As anon-limiting example, in a corpus of text, phrases making up a number“n” of compound words, such as nouns modified by other nouns, may beidentified according to a statistically significant prevalence ofn-grams containing such words in a particular order; such an n-gram maybe categorized as an element of language such as a “word” to be trackedsimilarly to single words, generating a new category as a result ofstatistical analysis. Similarly, in a data entry including some textualdata, a person's name may be identified by reference to a list,dictionary, or other compendium of terms, permitting ad-hoccategorization by machine-learning algorithms, and/or automatedassociation of data in the data entry with descriptors or into a givenformat. The ability to categorize data entries automatedly may enablethe same training data to be made applicable for two or more distinctmachine-learning algorithms as described in further detail below.Training data used by a computing device may correlate any input data asdescribed in this disclosure to any output data as described in thisdisclosure. In some embodiments, training data may include indextraining data. Index training data, defined as training data used togenerate an index classifier, may include, without limitation, aplurality of data entries, each data entry including one or moreelements of semantic data such as characters, symbols, phrases, textstrings, and one or more correlated similar semantic elements of anopportunity listing, where similar semantic elements of an opportunitylisting and associated semantic data may be identified using featurelearning algorithms as described below. Index training data and/orelements thereof may be added to, as a non-limiting example, byclassification of multiple users' semantic data to similar semantic dataof opportunity listings using one or more classification algorithms.

Still referring to FIG. 1 , apparatus 100 may be configured to generatean index classifier using a Naïve Bayes classification algorithm. ANaïve Bayes classification algorithm generates classifiers by assigningclass labels to problem instances, represented as vectors of elementvalues. Class labels may be drawn from a finite set. A Naïve Bayesclassification algorithm may include generating a family of algorithmsthat assume that the value of a particular element is independent of thevalue of any other element, given a class variable. A Naïve Bayesclassification algorithm may be based on Bayes Theorem expressed asP(A/B)=P(B/A) P(A)÷P(B), where P(A/B) is the probability of hypothesis Agiven data B also known as posterior probability; P(B/A) is theprobability of data B given that the hypothesis A was true; P(A) is theprobability of hypothesis A being true regardless of data also known asprior probability of A; and P(B) is the probability of the dataregardless of the hypothesis. A Naïve Bayes algorithm may be generatedby first transforming training data into a frequency table. Apparatus100 may then calculate a likelihood table by calculating probabilitiesof different data entries and classification labels. Apparatus 100 mayutilize a Naïve Bayes equation to calculate a posterior probability foreach class. A class containing the highest posterior probability may bethe outcome of prediction. A Naïve Bayes classification algorithm mayinclude a gaussian model that follows a normal distribution. A NaïveBayes classification algorithm may include a multinomial model that isused for discrete counts. A Naïve Bayes classification algorithm mayinclude a Bernoulli model that may be utilized when vectors are binary.

With continued reference to FIG. 1 , apparatus 100 may be configured togenerate an index classifier using a K-nearest neighbors (KNN)algorithm. A “K-nearest neighbors algorithm” as used in this disclosure,includes a classification method that utilizes feature similarity toanalyze how closely out-of-sample-features resemble training data toclassify input data to one or more clusters and/or categories offeatures as represented in training data; this may be performed byrepresenting both training data and input data in vector forms, andusing one or more measures of vector similarity to identifyclassifications within training data, and to determine a classificationof input data. K-nearest neighbors algorithm may include specifying aK-value, or a number directing the classifier to select the k mostsimilar entries training data to a given sample, determining the mostcommon classifier of the entries in the database, and classifying theknown sample; this may be performed recursively and/or iteratively togenerate a classifier that may be used to classify input data as furthersamples. For instance, an initial set of samples may be performed tocover an initial heuristic and/or “first guess” at an output and/orrelationship, which may be seeded, without limitation, using expertinput received according to any process as described herein. As anon-limiting example, an initial heuristic may include a ranking ofassociations between inputs and elements of training data. Heuristic mayinclude selecting some number of highest-ranking associations and/ortraining data elements.

With continued reference to FIG. 1 , generating a k-nearest neighborsalgorithm may include generating a first vector output containing a dataentry cluster, generating a second vector output containing an inputdata, and calculate the distance between the first vector output and thesecond vector output using any suitable norm such as cosine similarity,Euclidean distance measurement, or the like. Each vector output may berepresented, without limitation, as an n-tuple of values, where n is atleast two values. Each value of n-tuple of values may represent ameasurement or other quantitative value associated with a given categoryof data, or attribute, examples of which are provided in further detailbelow; a vector may be represented, without limitation, in n-dimensionalspace using an axis per category of value represented in n-tuple ofvalues, such that a vector has a geometric direction characterizing therelative quantities of attributes in the n-tuple as compared to eachother. Two vectors may be considered equivalent where their directions,and/or the relative quantities of values within each vector as comparedto each other, are the same; thus, as a non-limiting example, a vectorrepresented as [5, 10, 15] may be treated as equivalent, for purposes ofthis disclosure, as a vector represented as [1, 2, 3]. Vectors may bemore similar where their directions are more similar, and more differentwhere their directions are more divergent; however, vector similaritymay alternatively or additionally be determined using averages ofsimilarities between like attributes, or any other measure of similaritysuitable for any n-tuple of values, or aggregation of numericalsimilarity measures for the purposes of loss functions as described infurther detail below. Any vectors as described herein may be scaled,such that each vector represents each attribute along an equivalentscale of values. Each vector may be “normalized,” or divided by a“length” attribute, such as a length attribute l as derived using aPythagorean norm:

${l = \sqrt{\sum_{i = 0}^{n}a_{i}^{2}}},$

where a_(i) is attribute number i of the vector. Scaling and/ornormalization may function to make vector comparison independent ofabsolute quantities of attributes, while preserving any dependency onsimilarity of attributes; this may, for instance, be advantageous wherecases represented in training data are represented by differentquantities of samples, which may result in proportionally equivalentvectors with divergent values. As a non-limiting example, K-nearestneighbors algorithm may be configured to classify an input vectorincluding a plurality of user-entered words and/or phrases, a pluralityof attributes of a media item, such as spoken or written text, objectsdepicted in images, metadata, or the like, to clusters representingthemes.

In an embodiment, and still referring to FIG. 1 , apparatus 100, and/ora device generating an index classifier, may generate new similarsemantic element functions using a feature learning algorithm. A“feature learning algorithm,” as used herein, is a machine-learningalgorithm that identifies associations between elements of data in atraining data set, where particular outputs and/or inputs are notspecified. For instance, and without limitation, a feature learningalgorithm may detect co-occurrences of sets of semantic data, as definedabove, with each other. As a non-limiting example, a feature learningalgorithm may detect co-occurrences of similar semantic elements, asdefined above, with each other. Apparatus 100 may perform a featurelearning algorithm by dividing semantic data from a given source intovarious sub-combinations of such data to create similar semantic datasets as described above, and evaluate which similar semantic data setstend to co-occur with which other similar semantic data sets. In anembodiment, a first feature learning algorithm may perform clustering ofdata.

Continuing to refer to FIG. 1 , a feature learning and/or clusteringalgorithm may be implemented, as a non-limiting example, using a k-meansclustering algorithm. A “k-means clustering algorithm” as used in thisdisclosure, includes cluster analysis that partitions n observations orunclassified cluster data entries into k clusters in which eachobservation or unclassified cluster data entry belongs to the clusterwith the nearest mean, using, for instance behavioral training set asdescribed above. “Cluster analysis” as used in this disclosure, includesgrouping a set of observations or data entries in way that observationsor data entries in the same group or cluster are more similar to eachother than to those in other groups or clusters. Cluster analysis may beperformed by various cluster models that include connectivity modelssuch as hierarchical clustering, centroid models such as k-means,distribution models such as multivariate normal distribution, densitymodels such as density-based spatial clustering of applications withnose (DBSCAN) and ordering points to identify the clustering structure(OPTICS), subspace models such as biclustering, group models,graph-based models such as a clique, signed graph models, neural models,and the like. Cluster analysis may include hard clustering whereby eachobservation or unclassified cluster data entry belongs to a cluster ornot. Cluster analysis may include soft clustering or fuzzy clusteringwhereby each observation or unclassified cluster data entry belongs toeach cluster to a certain degree such as for example a likelihood ofbelonging to a cluster; for instance, and without limitation, a fuzzyclustering algorithm may be used to identify clustering of semanticelements with multiple similar semantic elements, and vice versa.Cluster analysis may include strict partitioning clustering whereby eachobservation or unclassified cluster data entry belongs to exactly onecluster. Cluster analysis may include strict partitioning clusteringwith outliers whereby observations or unclassified cluster data entriesmay belong to no cluster and may be considered outliers. Clusteranalysis may include overlapping clustering whereby observations orunclassified cluster data entries may belong to more than one cluster.Cluster analysis may include hierarchical clustering wherebyobservations or unclassified cluster data entries that belong to a childcluster also belong to a parent cluster.

With continued reference to FIG. 1 , apparatus 100 may generate ak-means clustering algorithm receiving unclassified semantic elementsand outputs a definite number of classified data entry clusters whereinthe data entry clusters each contain cluster data entries. K-meansalgorithm may select a specific number of groups or clusters to output,identified by a variable “k.” Generating a k-means clustering algorithmincludes assigning inputs containing unclassified data to a “k-group” or“k-cluster” based on feature similarity. Centroids of k-groups ork-clusters may be utilized to generate classified data entry cluster.K-means clustering algorithm may select and/or be provided “k” variableby calculating k-means clustering algorithm for a range of k values andcomparing results. K-means clustering algorithm may compare resultsacross different values of k as the mean distance between cluster dataentries and cluster centroid. K-means clustering algorithm may calculatemean distance to a centroid as a function of k value, and the locationof where the rate of decrease starts to sharply shift, this may beutilized to select a k value. Centroids of k-groups or k-cluster includea collection of feature values which are utilized to classify data entryclusters containing cluster data entries. K-means clustering algorithmmay act to identify clusters of closely related semantic element data,which may be provided with similar semantic element data; this may, forinstance, generate an initial set of similar semantic element data froman initial set of semantic element data of a large number of users, andmay also, upon subsequent iterations, identify new clusters to beprovided new similar semantic element data, to which additional semanticelement data may be classified, or to which previously used semanticelement data may be reclassified.

With continued reference to FIG. 1 , generating a k-means clusteringalgorithm may include generating initial estimates for k centroids whichmay be randomly generated or randomly selected from unclassified datainput. K centroids may be utilized to define one or more clusters.K-means clustering algorithm may assign unclassified data to one or morek-centroids based on the squared Euclidean distance by first performinga data assigned step of unclassified data. K-means clustering algorithmmay assign unclassified data to its nearest centroid based on thecollection of centroids c_(i) of centroids in set C. Unclassified datamay be assigned to a cluster based on

dist(ci, x)², where argmin includes argument of the minimum, ci includesa collection of centroids in a set C, and dist includes standardEuclidean distance. K-means clustering module may then recomputecentroids by taking mean of all cluster data entries assigned to acentroid's cluster. This may be calculated based on ci=1/|Si|Σxi

Si^(xi). K-means clustering algorithm may continue to repeat thesecalculations until a stopping criterion has been satisfied such as whencluster data entries do not change clusters, the sum of the distanceshave been minimized, and/or some maximum number of iterations has beenreached.

Still referring to FIG. 1 , k-means clustering algorithm may beconfigured to calculate a degree of similarity index value. A “degree ofsimilarity index value” as used in this disclosure, includes a distancemeasurement indicating a measurement between each data entry clustergenerated by k-means clustering algorithm and a selected semanticelement set. Degree of similarity index value may indicate how close aparticular combination of semantic element data, similar semanticelement data and/or semantic data of opportunity listings is to beingclassified by k-means algorithm to a particular cluster. K-meansclustering algorithm may evaluate the distances of the combination ofsimilar semantic element data to the k-number of clusters output byk-means clustering algorithm. Short distances between a set of semanticelement data and a cluster may indicate a higher degree of similaritybetween the set of semantic element data and a particular cluster.Longer distances between a set of semantic element data and a clustermay indicate a lower degree of similarity between a semantic elementdata set and a particular cluster.

With continued reference to FIG. 1 , k-means clustering algorithmselects a classified data entry cluster as a function of the degree ofsimilarity index value. In an embodiment, k-means clustering algorithmmay select a classified data entry cluster with the smallest degree ofsimilarity index value indicating a high degree of similarity between asemantic element data set and the data entry cluster. Alternatively oradditionally k-means clustering algorithm may select a plurality ofclusters having low degree of similarity index values to semanticelement data sets, indicative of greater degrees of similarity. Degreeof similarity index values may be compared to a threshold numberindicating a minimal degree of relatedness suitable for inclusion of aset of semantic element data in a cluster, where a degree of similarityindices falling under the threshold number may be included as indicativeof high degrees of relatedness. Persons skilled in the art, uponreviewing the entirety of this disclosure, will be aware of variousadditional or alternative feature learning approaches that may be usedconsistently with this disclosure.

Still referring to FIG. 1 , apparatus 100 may be configured to generatean index classifier using thematic training data including a pluralityof media items and a plurality of correlated themes. As used herein, a“media item” is an element of content transmitted over a network such asthe Internet to be displayed on a user device, which may include anycomputing device as described in this disclosure. A media item mayinclude, without limitation, an image, a video, an audio file, and/or atextual file. A media item may include an item of a persuasive nature,such as, without limitation, an advertisement. A media item may includea banner advertisement, a “popup” advertisement, a “pop under”advertisement, an advertisement that displays in a layer such as a layerin front of a web page, a redirect advertisement, a “splash screen”advertisement, or the like. A media item may include a “meme,” a videoforwarded between and/or from social media users, and/or platforms, orthe like. A media item may include metadata such as owner, producer,time or place of creation, or the like A media item may include a title.A “theme” of a media item is a subject matter that the media item ispromoting, describing, or otherwise providing via its content. A“principal theme” as used in this disclosure is a “main point” orprimary purpose of a media item. For instance, in an advertisement, aprincipal theme of the advertisement may be a product, service, and/orbrand being promoted or sold thereby. A principal theme of a video,story, or meme may include a main character, subject matter, place,event, or other main focus of the video, story, or meme.

Still referring to FIG. 1 , media training data may be populated byreceiving a plurality of user inputs, for instance via graphical userinterface forms; as a non-limiting example, each such form may presentto a user at least a media item and a user may select a label for eachsuch media item from a list of labels provided to the user and/or mayenter one or more words in a text entry element, which may be mapped tolabels using language processing as described below; label selected byuser may correspond to a user-entered identification of a principaltheme of the media item. An index classifier may input media items andoutput principal themes of the media items.

Continuing to refer to FIG. 1 , apparatus 100 may be configured togenerate an index classifier using a classification algorithm, which maybe implemented, without limitation, using any classification algorithmsuitable for generating a vice classifier as described above. As anon-limiting example, an index classifier may use a K-nearest neighborsalgorithm that may be configured to classify an input vector including aplurality of attributes of a media item, such as spoken or written text,objects depicted in images, metadata, etc., to clusters representingthemes. An index classifier may alternatively or additionally be createdusing a naïve-Bayes classification algorithm as described above. Anindex classifier may enable a computing device to identify a singletheme represented by the best-matching cluster and/or some number ofbest-matching clusters, such as the K best matching clusters; in thelatter case, matching a theme as described below may include matchingany of the K best themes, or the most probable theme may be treated asthe main theme and the remaining matching clusters may be treated asidentifying themes of secondary importance.

In an embodiment, and continuing to refer to FIG. 1 , apparatus 100 maymodify media training data, for instance to replace a media item withplurality of objects; plurality of objects may be used as attributes ofa vector associated with a media item in media training data, forinstance for use in KNN or other classification algorithms as describedabove. Objects of plurality of objects may include, without limitation,objects depicted in images or frames of media, objects described intextual data extracted from images or text, and/or converted from spokenwords in media, or the like. In an embodiment, a computing device may beconfigured to extract, from each media item, a plurality of contentelements, such as without limitation geometric forms extracted fromimages and/or video frames, words or phrases of textual data, or thelike. A computing device may be configured to classify each contentelement of the plurality of content elements to an object of a pluralityof objects using an object classifier, where the object classifier maybe generated using any classification algorithm as described above. Anobject classifier may classify words, phrases, and/or geometrical formsto clusters corresponding to labels of objects, enabling a vectorrepresenting presence or relative frequency of objects to be created,for instance by populating a vector index corresponding to each of alist of objects with a number indicating presence or absence of anobject corresponding to an index and/or a number indicating a number ofoccurrences of an object corresponding to an index. In the latter case,as a non-limiting example, a higher number may indicate a greaterprevalence of a given object in the media item, which may, as anon-limiting example, cause an index classifier to classify the mediaitem to a theme consistent with a higher prevalence of a given object;prevalence and/or relative frequency of an object in media item may alsobe used, as described below, to determine a degree to which the objectis presented in the media item for additional processing. In anembodiment, a computing device may replace media item with a pluralityof objects as described above in media training data; for instance, aseparate instance of media training data in which media items arereplaced with plurality of objects may be generated, permitting usethereof in place of the original media training data. Where objectclassifier is updated, for instance by adding to a list of objectscorresponding to clusters and rerunning object classifier to classify tothe updated list, media items stored in memory may be subjected toobject classifier again to update each plurality of objects; each ofthese actions, including without limitation rerunning object classifierto classify to the updated list and/or updating plurality of objects,may be performed by a computing device. An index classifier may likewisebe updated by rerunning classification algorithms on updated mediatraining data.

Still referring to FIG. 1 , an object classifier and/or classifiers maybe run against one or more sets of object training data, where objecttraining data may include any form of object training data as describedabove. Object training data may include, without limitation, a pluralityof data entries, each data entry including one or more content elementsand one or more objects represented thereby. Object training data and/orelements thereof may be entered by users, for instance via graphicaluser interface forms; as a non-limiting example, each such form maypresent to a user a geometric form, word, image, or the like, and a usermay select a label for each such geometric form, word, image, or thelike from a list of labels provided to the user and/or may enter one ormore words in a text entry element, which may be mapped to labels usinglanguage processing as described below.

With continued reference to FIG. 1 , apparatus 100 may be configured toclassify geometric forms identified in images and/or video frames toobjects using a visual object classifier; that is, an object classifiermay include a visual object classifier. A visual object classifier mayinclude any classifier described above; a visual object classifier maygenerate an output classifying a geometric form in a photograph to anobject according to any classification algorithm as described above. Inan embodiment, a computing device may train a visual object classifierusing an image classification training set, which may, as a non-limitingexample, include geometric forms extracted from photographs andidentifications of one or more objects associated therewith. Imageclassification training set may, for instance, be populated by userentries of photographs, other images of objects, and/or geometricrepresentations along with corresponding user entries identifyingand/labeling objects as described above. A computing device may identifyobjects in the form of geometrical figures in the photographs asdescribed above, and create training data entries in a visual objectclassifier training set with the photographs and correlated objects; inan embodiment, correlations may be further identified by matchinglocations of objects in a coordinate system mapped onto images tolocations of geometric objects in a photograph, by receiving useridentifications or “tags” of particular objects, or the like. Acomputing device may be configured to extract the plurality of contentelements by extracting a plurality of geometric forms from a visualcomponent of the media item and classify the plurality of geometricforms using the visual object classifier.

Still referring to FIG. 1 , apparatus 100 may be configured to classifytextual elements to objects using a linguistic object classifier; thatis, an object classifier may include a linguistic object classifier.Textual elements may include words or phrases, as described in furtherdetail below, extracted from textual data such as documents or the like.Textual elements may include other forms of data converted into textualdata, such as without limitation textual data converted from audio datausing speech-to-text algorithms and/or protocols, textual data extractedfrom images using optical character recognition (OCR), or the like.

Still referring to FIG. 1 , a linguistic object classifier may includeany classifier described above; a linguistic object classifier maygenerate an output classifying an element of textual data to an objectaccording to any classification algorithm as described above. In anembodiment, a computing device may train a linguistic object classifierusing a linguistic classification training set, which may, as anon-limiting example, include elements of textual data andidentifications of one or more objects associated therewith. Linguisticclassification training set may, for instance, be populated by userentries of textual data along with corresponding user entriesidentifying and/labeling objects as described above. A computing devicemay be configured to extract the plurality of content elements byextracting a plurality of textual elements from a verbal component ofthe media item and classify the plurality of textual elements using alinguistic object classifier.

Still referring to FIG. 1 , generation of linguistic classificationtraining set, mapping of user entries to object labels, and/orclassification of textual objects to labels may alternatively oradditionally be performed using a language processing algorithm. Alanguage processing algorithm may operate to produce a languageprocessing model. A language processing model may include a programautomatically generated by language processing algorithm to produceassociations between one or more words and/or phrases, including withoutlimitation mathematical associations, between such words. Associationsbetween language elements, where language elements include for purposesherein extracted words and/or object labels, without limitation,mathematical associations, including without limitation statisticalcorrelations between any language element and any other language elementand/or language elements. Statistical correlations and/or mathematicalassociations may include probabilistic formulas or relationshipsindicating, for instance, a likelihood that a given word and/or phraseindicates a given object label and/or a given additional word and/orphrase. As a further example, statistical correlations and/ormathematical associations may include probabilistic formulas orrelationships indicating a positive and/or negative association betweenat least a word and/or phrase and an object label and/or an additionalword.

Still referring to FIG. 1 , a language processing algorithm may generatea language processing model by any suitable method, including withoutlimitation a natural language processing classification algorithm;language processing model may include a natural language processclassification model that enumerates and/or derives statisticalrelationships between input term and output terms. Algorithm to generatelanguage processing model may include a stochastic gradient descentalgorithm, which may include a method that iteratively optimizes anobjective function, such as an objective function representing astatistical estimation of relationships between terms, includingrelationships between input terms and output terms, in the form of a sumof relationships to be estimated. In an alternative or additionalapproach, sequential tokens may be modeled as chains, serving as theobservations in a Hidden Markov Model (HMM). HMMs as used herein arestatistical models with inference algorithms that that may be applied tothe models. In such models, a hidden state to be estimated may includean association between at least a word and/or phrase and an object labeland/or an additional word. There may be a finite number of labels, wordsand/or phrases, and/or relationships therebetween; an HMM inferencealgorithm, such as the forward-backward algorithm or the Viterbialgorithm, may be used to estimate the most likely discrete state givena word or sequence of words. Language processing algorithm may combinetwo or more approaches. For instance, and without limitation,machine-learning program may use a combination of Naive-Bayes,Stochastic Gradient Descent (SGD), and parameter grid-searchingclassification techniques; the result may include a classificationalgorithm that returns ranked associations.

Continuing to refer to FIG. 1 , generating a language processing modelmay include generating a vector space, which may be a collection ofvectors, defined as a set of mathematical objects that can be addedtogether under an operation of addition following properties ofassociativity, commutativity, existence of an identity element, andexistence of an inverse element for each vector, and can be multipliedby scalar values under an operation of scalar multiplication compatiblewith field multiplication, and that has an identity element isdistributive with respect to vector addition, and is distributive withrespect to field addition. Each vector in an n-dimensional vector spacemay be represented by an n-tuple of numerical values. Each uniqueextracted word and/or language element as described above may berepresented by a vector of the vector space. In an embodiment, eachunique extracted and/or other language element may be represented by adimension of vector space; as a non-limiting example, each element of avector may include a number representing an enumeration ofco-occurrences of the word and/or language element represented by thevector with another word and/or language element. Vectors may benormalized, scaled according to relative frequencies of appearanceand/or file sizes. In an embodiment associating language elements to oneanother as described above may include computing a degree of vectorsimilarity between a vector representing each language element and avector representing another language element; vector similarity may bemeasured according to any norm for proximity and/or similarity of twovectors, including without limitation cosine similarity, which measuresthe similarity of two vectors by evaluating the cosine of the anglebetween the vectors, which can be computed using a dot product of thetwo vectors divided by the lengths of the two vectors. Degree ofsimilarity may include any other geometric measure of distance betweenvectors.

Still referring to FIG. 1 , a language processing algorithm may use acorpus of documents to generate associations between language elementsin a language processing algorithm, and a computing device may then usesuch associations to analyze words extracted from one or more documentsand determine that the one or more documents indicate a givenrelationship between at least a word and/or phrase and an object labeland/or an additional word. In an embodiment, a computing device mayperform an analysis using a selected set of significant documents, suchas documents identified by one or more users and/or expert users, and/ora generalized body of documents and/or co-occurrence data, which may becompiled by one or more third parties. Documents and/or co-occurrencedata may be received by a computing device by being uploaded by anexpert or other persons using, without limitation, file transferprotocol (FTP) or other suitable methods for transmission and/or uploadof documents; alternatively or additionally, where a document isidentified by a citation, a uniform resource identifier (URI), uniformresource locator (URL) or other datum permitting unambiguousidentification of the document, a computing device may automaticallyobtain the documents, co-occurrence data, or the like by downloadingand/or navigating to one or more centralized and/or distributedcollections thereof. A computing device may alternatively oradditionally receive any language processing model from one or moreremote devices or third-party devices and utilize such languageprocessing model as described above.

Still referring to FIG. 1 , a computing device may detect and/orintercept media using one or more programs and/or modules that can actto detect and/or redirect content that is being transmitted to a userdevice; such programs and/or modules may include, without limitation,web browsers provided to a user device, “plugins” or the like operatingon web browsers on a user device, programs and/or modules installed atadvertisement providers, content providers, social media platforms orthe like, and/or programs that route network traffic through one or moreservers operated by a computing device as a portal for network accessfor human subject's device. Persons skilled in the art, upon reviewingthe entirety of this disclosure, will be aware of various additional oralternative ways in which a computing device may receive and/or detectmedia items within the scope of this disclosure.

With continued reference to FIG. 1 , a computing device may beconfigured to identify a principal theme of a received media item usinga media theme classifier. A computing device may input a media item to amedia theme classifier, which may output a principal theme, for instanceby identifying a cluster, corresponding to a theme, which is mostclosely associated with a media item, as described above. In anembodiment, a computing device may input a plurality of objectsidentified in the media item to a media theme classifier. For instance,and without limitation, a computing device may extract a plurality ofcontent elements from a media item, where extraction may be performed inany manner described above. A computing device may classify each contentelement of plurality of content elements to an object of a plurality ofobjects using an object classifier, which may be any object classifieror collection of object classifiers as described above. A computingdevice may input plurality of objects to a media theme classifier.

Still referring to FIG. 1 , apparatus 100 may present a ranked list ofpostings 124 to a user. A ranking may be determined as a function of anoptimization model, ranking process, heuristics, and the like. Rankingpostings 124 may include comparing postings 124 to a ranking criteria. A“ranking criteria” as used in this disclosure is an attribute by which ahierarchy is determined. Ranking criteria may include, but is notlimited to, performance parameter similarities, user attributes, and thelike.

Still referring to FIG. 1 , apparatus 100 may provide a skill evaluationimprovement recommendation to user 104. A “skill evaluation improvementrecommendation” as used in this disclosure is a suggestion for a user toincrease performance during a skill evaluation. Apparatus 100 maydetermine a skill evaluation improvement recommendation as a function ofmeasured performance 112 and/or performance parameter 116. For instanceand without limitation, apparatus 100 may determine user 104 lacked eyecontact during a skill evaluation. Apparatus 100 may provide user 104with a skill evaluation improvement recommendation of increasing eyecontact with a participant of a skill evaluation. Additionally and/oralternatively, apparatus 100 may provide a skill evaluation improvementrecommendation based on, but not limited to, posting data, skillevaluation data and/or participant data. Apparatus 100 may use animprovement recommendation machine learning model to provide a skillevaluation improvement recommendation. An improvement recommendationmachine learning model may be trained with training data correlatingmeasured performances to skill evaluation improvement recommendations.Training data may be received from user input, external computingdevices, and/or previous iterations of processing. In some embodiments,apparatus 100 may preemptively provide a skill evaluation improvementrecommendation based on an upcoming skill evaluation related to posting124. For instance and without limitation, apparatus 100 may determinethat user 104 should wear formal clothing and communicate in asophisticated manner for a skill evaluation with a partner of a lawfirm.

Referring now to FIG. 2 , an exemplary embodiment of a skill evaluation200 is presented. Skill evaluation 200 may include user 104. In someembodiments, skill evaluation may include display 204. Display 204 mayinclude video sensor 208. A video sensor may be configured to detectoptical and audible data. Skill evaluation 200 may include participant212. A participant may include, but is not limited to, an interviewerfor a posting. Apparatus 100 may measure interactions between user 104and participant 212 in skill evaluation 200 as described above withreference to FIG. 1 . Apparatus 100 may measure engagement 216 ofparticipant 212. Engagement 216 may include, but is not limited to,facial expressions, micro expressions, hand movements, body language,eye movements, mouth movements, and the like. For instance and withoutlimitation, engagement 216 may indicate a high engagement level ofparticipant 212, such as but not limited to good eye contact, smiling,friendly disposition, frequent mouth movements such as for speaking, andthe like. In another non-limiting example, engagement 216 may indicate alow engagement level of participant 212, such as but not limited to,neutral and/or negative facial expressions, lack of eye contact, lowmouth movement frequency, cold body language, and the like. In someembodiments, apparatus 100 may determine an engagement of user 104,which may include engagement data as described above with reference toengagement 216. Apparatus 100 may use engagement 216 to determinedperformance data 108, measured performance 112, and the like. Apparatus100 may continuously update performance data 108 and measuredperformance 112 as a function of a live measurement of engagement 216and/or an engagement of user 104. In some embodiments, apparatus 100 mayuse an engagement machine learning model to determine an engagementlevel. An engagement machine learning model may be trained with trainingdata correlating engagements to engagement levels. Training data may bereceived from user input, external computing devices, and/or previousiterations of processing. An engagement level machine learning model maybe configured to input engagements and output engagement levels. Amachine learning model may be as described below with reference to FIG.6 .

Referring now to FIG. 3 , an exemplary embodiment of fuzzy setcomparison 300 is illustrated. A first fuzzy set 304 may be represented,without limitation, according to a first membership function 308representing a probability that an input falling on a first range ofvalues 312 is a member of the first fuzzy set 304, where the firstmembership function 308 has values on a range of probabilities such aswithout limitation the interval [0,1], and an area beneath the firstmembership function 308 may represent a set of values within first fuzzyset 304. Although first range of values 312 is illustrated for clarityin this exemplary depiction as a range on a single number line or axis,first range of values 312 may be defined on two or more dimensions,representing, for instance, a Cartesian product between a plurality ofranges, curves, axes, spaces, dimensions, or the like. First membershipfunction 308 may include any suitable function mapping first range 312to a probability interval, including without limitation a triangularfunction defined by two linear elements such as line segments or planesthat intersect at or below the top of the probability interval. As anon-limiting example, triangular membership function may be defined as:

${y\left( {x,a,b,c} \right)} = \left\{ \begin{matrix}{0,\ {{{for}x} > {c{and}x} < a}} \\{\frac{x - a}{b - a},\ {{{for}a} \leq x < b}} \\{\frac{c - x}{c - b},\ {{{if}b} < x \leq c}}\end{matrix} \right.$

a trapezoidal membership function may be defined as:

${y\left( {x,a,b,c,d} \right)} = {\max\left( {{\min\ \left( {\frac{x - a}{b - a},1,\frac{d - x}{d - c}} \right)},\ 0} \right)}$

a sigmoidal function may be defined as:

${y\left( {x,a,c} \right)} = \frac{1}{1 - e^{- {a({x - c})}}}$

a Gaussian membership function may be defined as:

${y\left( {x,c,\sigma} \right)} = e^{{- \frac{1}{2}}{(\frac{x - c}{\sigma})}^{2}}$

and a bell membership function may be defined as:

${y\left( {x,a,b,c,} \right)} = \left\lbrack {1 + {❘\frac{x - c}{a}❘}^{2b}} \right\rbrack^{- 1}$

Persons skilled in the art, upon reviewing the entirety of thisdisclosure, will be aware of various alternative or additionalmembership functions that may be used consistently with this disclosure.

Still referring to FIG. 3 , first fuzzy set 304 may represent any valueor combination of values as described above. A second fuzzy set 316,which may represent any value which may be represented by first fuzzyset 304, may be defined by a second membership function 320 on a secondrange 324; second range 324 may be identical and/or overlap with firstrange 312 and/or may be combined with first range via Cartesian productor the like to generate a mapping permitting evaluation overlap of firstfuzzy set 304 and second fuzzy set 316. Where first fuzzy set 304 andsecond fuzzy set 316 have a region 328 that overlaps, first membershipfunction 308 and second membership function 320 may intersect at a point332 representing a probability, as defined on probability interval, of amatch between first fuzzy set 304 and second fuzzy set 316.Alternatively or additionally, a single value of first and/or secondfuzzy set may be located at a locus 336 on first range 312 and/or secondrange 324, where a probability of membership may be taken by evaluationof first membership function 308 and/or second membership function 320at that range point. A probability at 328 and/or 332 may be compared toa threshold 340 to determine whether a positive match is indicated.Threshold 340 may, in a non-limiting example, represent a degree ofmatch between first fuzzy set 304 and second fuzzy set 316, and/orsingle values therein with each other or with either set, which issufficient for purposes of the matching process; for instance, thresholdmay indicate a sufficient degree of overlap between measured performance112 and posting 124 descriptions for combination to occur as describedabove. There may be multiple thresholds; for instance, a secondthreshold may indicate a sufficient match for purposes of a direct-matchsubset as described in this disclosure. Each threshold may beestablished by one or more user inputs. Alternatively or additionally,each threshold may be tuned by a machine-learning and/or statisticalprocess, for instance and without limitation as described in furtherdetail below.

Still referring to FIG. 3 , in an embodiment, a degree of match betweenfuzzy sets may be used to rank one performance parameter againstanother. For instance, if two performance parameters have fuzzy setsmatching a probabilistic outcome fuzzy set by having a degree of overlapexceeding a threshold, apparatus 100 may further rank the twoperformance parameters by ranking a performance parameter having ahigher degree of match more highly than a performance parameter having alower degree of match. Where multiple fuzzy matches are performed,degrees of match for each respective fuzzy set may be computed andaggregated through, for instance, addition, averaging, or the like, todetermine an overall degree of match, which may be used to rankperformance parameters; selection between two or more matchingperformance parameters may be performed by selection of ahighest-ranking performance parameter, and/or multiple predictiveprevalence values may be presented to a user in order of ranking. Insome embodiments, a fuzzy inferencing system may be used to generate ameasured performance parameter. A fuzzy inferencing system may determineif a first performance parameter overlaps a first measured parameterset, and a second performance parameter overlaps a second measuredparameter set, then the second performance parameter overlaps the firstperformance parameter. A fuzzy inferencing system may defuzzifyoverlapping sets to output a result of overlapping sets, such as, andwithout limitation, a match of data between two or more fuzzy sets.

Further referring to FIG. 3 , in an embodiment, a degree of matchbetween fuzzy sets may be used to classify a measured performance with aperformance parameter. For instance, if a measured performance has afuzzy set matching a performance parameter fuzzy set by having a degreeof overlap exceeding a threshold, apparatus 100 may classify themeasured performance as belonging to the performance parameter. Wheremultiple fuzzy matches are performed, degrees of match for eachrespective fuzzy set may be computed and aggregated through, forinstance, addition, averaging, or the like, to determine an overalldegree of match.

Still referring to FIG. 3 , in an embodiment, a measured performance maybe compared to multiple performance parameter fuzzy sets. For instance,a measured performance may be represented by a fuzzy set that iscompared to each of the multiple performance parameter fuzzy sets; and adegree of overlap exceeding a threshold between the measured performancefuzzy set and any of the multiple performance parameter fuzzy sets maycause apparatus 100 to classify the measured performance as belonging toa performance parameter For instance, in one embodiment there may be twoperformance parameter fuzzy sets, representing respectively engagementlevels and technical knowledge. First performance parameter may have afirst fuzzy set; Second performance parameter may have a second fuzzyset; and a measured performance may have a measured performance fuzzyset. Apparatus 100, for example, may compare a measured performancefuzzy set with each of first performance parameter fuzzy set and secondperformance parameter fuzzy set, as described above, and classify ameasured performance to either, both, or neither of first performanceparameter fuzzy set or second performance parameter fuzzy set.Machine-learning methods as described throughout may, in a non-limitingexample, generate coefficients used in fuzzy set equations as describedabove, such as without limitation x, c, and σ of a Gaussian set asdescribed above, as outputs of machine-learning methods. Likewise, ameasured performance may be used indirectly to determine a fuzzy set, asa measured performance fuzzy set may be derived from outputs of one ormore machine-learning models that take the measured performance directlyor indirectly as inputs.

Still referring to FIG. 3 , a computing device of apparatus 100 may usea logic comparison program, such as, but not limited to, a fuzzy logicmodel to determine a performance score. A performance score may include,but is not limited to, amateur, average, excellent, superior, and thelike; each such performance score may be represented as a value for alinguistic variable representing performance scores or in other words afuzzy set as described above that corresponds to a degree of capability,competence, technical skill, speaking skill, and the like, as calculatedusing any statistical, machine-learning, or other method that may occurto a person skilled in the art upon reviewing the entirety of thisdisclosure. In other words, a given element of a measured performancemay have a first non-zero value for membership in a first linguisticvariable value such as “5,” and a second non-zero value for membershipin a second linguistic variable value such as “10” In some embodiments,determining a performance score may include using a linear regressionmodel. A linear regression model may include a machine learning model. Alinear regression model may be configured to map data of measuredperformances such as engagement levels, technical knowledge, and thelike [input elements of %%%], to one or more performance scores. Alinear regression model may be trained using training data correlatingmeasured performance data to performance scores.]. A linear regressionmodel may map statistics such as, but not limited to, average userscores, areas of strength of a performance, areas of weakness of aperformance, common skill evaluation engagements, and the like. In someembodiments, determining a performance score of a measured performancemay include using a performance score classification model. Aperformance score classification model may be configured to inputcollected data and cluster data to a centroid based on, but not limitedto, frequency of appearance, linguistic indicators of performances, andthe like. Centroids may include scores assigned to them such thatelements of a measured performance may each be assigned a score. In someembodiments, a performance score classification model may include aK-means clustering model. In some embodiments, a performance scoreclassification model may include a particle swarm optimization model. Insome embodiments, determining a performance score of a measuredperformance may include using a fuzzy inference engine. A fuzzyinference engine may be configured to map one or more measuredperformance data elements using fuzzy logic. In some embodiments, aplurality of entity assessment devices may be arranged by a logiccomparison program into performance score arrangements. A “performancescore arrangement” as used in this disclosure is any grouping of objectsand/or data based on skill level and/or output score. This step may beimplemented as described above in FIGS. 1-2 . Membership functioncoefficients and/or constants as described above may be tuned accordingto classification and/or clustering algorithms. For instance, andwithout limitation, a clustering algorithm may determine a Gaussian orother distribution of questions about a centroid corresponding to agiven performance level, and an iterative or other method may be used tofind a membership function, for any membership function type asdescribed above, that minimizes an average error from the statisticallydetermined distribution, such that, for instance, a triangular orGaussian membership function about a centroid representing a center ofthe distribution that most closely matches the distribution. Errorfunctions to be minimized, and/or methods of minimization, may beperformed without limitation according to any error function and/orerror function minimization process and/or method as described in thisdisclosure.

Further referring to FIG. 3 , an inference engine may be implementedaccording to input and/or output membership functions and/or linguisticvariables. For instance, a first linguistic variable may represent afirst measurable value pertaining to a measured performance, such as adegree of engagement level of an element of a measured performance,while a second membership function may indicate a degree of technicalskill level of a subject thereof, or another measurable value pertainingto a measured performance. Continuing the example, an output linguisticvariable may represent, without limitation, a score value. An inferenceengine may combine rules, such as: “if the engagement level is ‘high andthe technical skill level is ‘high’, the performance score is‘high’”—the degree to which a given input function membership matches agiven rule may be determined by a triangular norm or “T-norm” of therule or output membership function with the input membership function,such as min (a, b), product of a and b, drastic product of a and b,Hamacher product of a and b, or the like, satisfying the rules ofcommutativity (T(a, b)=T(b, a)), monotonicity: (T(a, b)≤T(c, d) if a≤cand b≤d), (associativity: T(a, T(b, c))=T(T(a, b), c)), and therequirement that the number 1 acts as an identity element. Combinationsof rules (“and” or “or” combination of rule membership determinations)may be performed using any T-conorm, as represented by an inverted Tsymbol or “⊥” such as max(a, b), probabilistic sum of a and b (a+b−a*b),bounded sum, and/or drastic T-conorm; any T-conorm may be used thatsatisfies the properties of commutativity: ⊥(a, b)=⊥(b, a),monotonicity: ⊥(a, b)≤⊥(c, d) if a≤c and b≤d, associativity: ⊥(a, ⊥(b,c))=⊥(⊥(a, b), c), and identity element of 0. Alternatively oradditionally T-conorm may be approximated by sum, as in a “product-sum”inference engine in which T-norm is product and T-conorm is sum. A finaloutput score or other fuzzy inference output may be determined from anoutput membership function as described above using any suitabledefuzzification process, including without limitation Mean of Maxdefuzzification, Centroid of Area/Center of Gravity defuzzification,Center Average defuzzification, Bisector of Area defuzzification, or thelike. Alternatively or additionally, output rules may be replaced withfunctions according to the Takagi-Sugeno-King (TSK) fuzzy model.

Further referring to FIG. 3 , a measured performance to be used may beselected by user selection, and/or by selection of a distribution ofoutput scores, such as 30% proficient, 40% moderate average, and 30%below average or the like. Each score may be selected using anadditional function such as degree of engagement level as describedabove.

Referring now to FIG. 4 , user profile database 404 is shown. Userprofile database 404 may be implemented, without limitation, as arelational database, a key-value retrieval database such as a NOSQLdatabase, or any other format or structure for use as a database that aperson skilled in the art would recognize as suitable upon review of theentirety of this disclosure. User profile database 404 may alternativelyor additionally be implemented using a distributed data storage protocoland/or data structure, such as a distributed hash table or the like.User profile database 404 may include a plurality of data entries and/orrecords as described above. Data entries in a database may be flaggedwith or linked to one or more additional elements of information, whichmay be reflected in data entry cells and/or in linked tables such astables related by one or more indices in a relational database. Personsskilled in the art, upon reviewing the entirety of this disclosure, willbe aware of various ways in which data entries in a database may store,retrieve, organize, and/or reflect data and/or records as used herein,as well as categories and/or populations of data consistently with thisdisclosure.

Still referring to FIG. 4 , user profile database 404 may includeperformance data 408. Performance data 408 may include performance dataas described above with reference to FIG. 1 . In some embodiments,performance data 408 may include categories of performance, such as, butnot limited to, social skills, technical knowledge, and the like.Performance data 408 may be updated through user input, externalcomputing devices, and/or previous iterations of processing.

Still referring to FIG. 4 , user profile database 404 may performanceparameter data 412. Performance parameter data 412 may includeperformance parameter data as described above with reference to FIG. 1 .Performance parameter data 412 may include, but is not limited to, idealperformance values, performance metrics, and the like. For instance andwithout limitation, performance parameter data 412 may includeengagement levels of participants, lengths of skill evaluations,quantity of answered prompts, and the like. Performance parameter data412 may be updated through user input, external computing devices,and/or previous iterations of processing.

Still referring to FIG. 4 , user profile database 404 may skillevaluation data 416. Skill evaluation data may include informationpertaining to a skill evaluation. In some embodiments, skill evaluationdata 416 may include, but is not limited to, type of skill evaluation,postings related to a skill evaluation, skill evaluation locations,skill evaluation participants, and the like. Skill evaluation data 416may be updated through user input, external computing devices, and/orprevious iterations of processing.

Still referring to FIG. 4 , user profile database 404 may includeposting data 420. Posting data 420 may include posting descriptions asdescribed above with reference to FIG. 1 . In some embodiments, postingdata 420 may include, but is not limited to, posting category, postingsimilarity to performance data 408, previously accepted postings,previously rejected postings, and the like. Posting data 420 may beupdated through user input, external computing devices, and/or previousiterations of processing.

Referring now to FIG. 5 , an exemplary embodiment of a machine-learningmodule 500 that may perform one or more machine-learning processes asdescribed in this disclosure is illustrated. Machine-learning module mayperform determinations, classification, and/or analysis steps, methods,processes, or the like as described in this disclosure using machinelearning processes. A “machine learning process,” as used in thisdisclosure, is a process that automatedly uses training data 504 togenerate an algorithm that will be performed by a computingdevice/module to produce outputs 508 given data provided as inputs 512;this is in contrast to a non-machine learning software program where thecommands to be executed are determined in advance by a user and writtenin a programming language.

Still referring to FIG. 5 , “training data,” as used herein, is datacontaining correlations that a machine-learning process may use to modelrelationships between two or more categories of data elements. Forinstance, and without limitation, training data 504 may include aplurality of data entries, each entry representing a set of dataelements that were recorded, received, and/or generated together; dataelements may be correlated by shared existence in a given data entry, byproximity in a given data entry, or the like. Multiple data entries intraining data 504 may evince one or more trends in correlations betweencategories of data elements; for instance, and without limitation, ahigher value of a first data element belonging to a first category ofdata element may tend to correlate to a higher value of a second dataelement belonging to a second category of data element, indicating apossible proportional or other mathematical relationship linking valuesbelonging to the two categories. Multiple categories of data elementsmay be related in training data 504 according to various correlations;correlations may indicate causative and/or predictive links betweencategories of data elements, which may be modeled as relationships suchas mathematical relationships by machine-learning processes as describedin further detail below. Training data 504 may be formatted and/ororganized by categories of data elements, for instance by associatingdata elements with one or more descriptors corresponding to categoriesof data elements. As a non-limiting example, training data 504 mayinclude data entered in standardized forms by persons or processes, suchthat entry of a given data element in a given field in a form may bemapped to one or more descriptors of categories. Elements in trainingdata 504 may be linked to descriptors of categories by tags, tokens, orother data elements; for instance, and without limitation, training data504 may be provided in fixed-length formats, formats linking positionsof data to categories such as comma-separated value (CSV) formats and/orself-describing formats such as extensible markup language (XML),JavaScript Object Notation (JSON), or the like, enabling processes ordevices to detect categories of data.

Alternatively or additionally, and continuing to refer to FIG. 5 ,training data 504 may include one or more elements that are notcategorized; that is, training data 504 may not be formatted or containdescriptors for some elements of data. Machine-learning algorithmsand/or other processes may sort training data 504 according to one ormore categorizations using, for instance, natural language processingalgorithms, tokenization, detection of correlated values in raw data andthe like; categories may be generated using correlation and/or otherprocessing algorithms. As a non-limiting example, in a corpus of text,phrases making up a number “n” of compound words, such as nouns modifiedby other nouns, may be identified according to a statisticallysignificant prevalence of n-grams containing such words in a particularorder; such an n-gram may be categorized as an element of language suchas a “word” to be tracked similarly to single words, generating a newcategory as a result of statistical analysis. Similarly, in a data entryincluding some textual data, a person's name may be identified byreference to a list, dictionary, or other compendium of terms,permitting ad-hoc categorization by machine-learning algorithms, and/orautomated association of data in the data entry with descriptors or intoa given format. The ability to categorize data entries automatedly mayenable the same training data 504 to be made applicable for two or moredistinct machine-learning algorithms as described in further detailbelow. Training data 504 used by machine-learning module 500 maycorrelate any input data as described in this disclosure to any outputdata as described in this disclosure. As a non-limiting illustrativeexample inputs may include measured performances and outputs may includepostings.

Further referring to FIG. 5 , training data may be filtered, sorted,and/or selected using one or more supervised and/or unsupervisedmachine-learning processes and/or models as described in further detailbelow; such models may include without limitation a training dataclassifier 516. Training data classifier 516 may include a “classifier,”which as used in this disclosure is a machine-learning model as definedbelow, such as a mathematical model, neural net, or program generated bya machine learning algorithm known as a “classification algorithm,” asdescribed in further detail below, that sorts inputs into categories orbins of data, outputting the categories or bins of data and/or labelsassociated therewith. A classifier may be configured to output at leasta datum that labels or otherwise identifies a set of data that areclustered together, found to be close under a distance metric asdescribed below, or the like. Machine-learning module 500 may generate aclassifier using a classification algorithm, defined as a processeswhereby a computing device and/or any module and/or component operatingthereon derives a classifier from training data 504. Classification maybe performed using, without limitation, linear classifiers such aswithout limitation logistic regression and/or naive Bayes classifiers,nearest neighbor classifiers such as k-nearest neighbors classifiers,support vector machines, least squares support vector machines, fisher'slinear discriminant, quadratic classifiers, decision trees, boostedtrees, random forest classifiers, learning vector quantization, and/orneural network-based classifiers. As a non-limiting example, trainingdata classifier 516 may classify elements of training data to postingcategories, performance data categories, skill evaluation categories,and the like.

Still referring to FIG. 5 , machine-learning module 500 may beconfigured to perform a lazy-learning process 520 and/or protocol, whichmay alternatively be referred to as a “lazy loading” or“call-when-needed” process and/or protocol, may be a process wherebymachine learning is conducted upon receipt of an input to be convertedto an output, by combining the input and training set to derive thealgorithm to be used to produce the output on demand. For instance, aninitial set of simulations may be performed to cover an initialheuristic and/or “first guess” at an output and/or relationship. As anon-limiting example, an initial heuristic may include a ranking ofassociations between inputs and elements of training data 504. Heuristicmay include selecting some number of highest-ranking associations and/ortraining data 504 elements. Lazy learning may implement any suitablelazy learning algorithm, including without limitation a K-nearestneighbors algorithm, a lazy naïve Bayes algorithm, or the like; personsskilled in the art, upon reviewing the entirety of this disclosure, willbe aware of various lazy-learning algorithms that may be applied togenerate outputs as described in this disclosure, including withoutlimitation lazy learning applications of machine-learning algorithms asdescribed in further detail below.

Alternatively or additionally, and with continued reference to FIG. 5 ,machine-learning processes as described in this disclosure may be usedto generate machine-learning models 524. A “machine-learning model,” asused in this disclosure, is a mathematical and/or algorithmicrepresentation of a relationship between inputs and outputs, asgenerated using any machine-learning process including withoutlimitation any process as described above, and stored in memory; aninput is submitted to a machine-learning model 524 once created, whichgenerates an output based on the relationship that was derived. Forinstance, and without limitation, a linear regression model, generatedusing a linear regression algorithm, may compute a linear combination ofinput data using coefficients derived during machine-learning processesto calculate an output datum. As a further non-limiting example, amachine-learning model 524 may be generated by creating an artificialneural network, such as a convolutional neural network comprising aninput layer of nodes, one or more intermediate layers, and an outputlayer of nodes. Connections between nodes may be created via the processof “training” the network, in which elements from a training data 504set are applied to the input nodes, a suitable training algorithm (suchas Levenberg-Marquardt, conjugate gradient, simulated annealing, orother algorithms) is then used to adjust the connections and weightsbetween nodes in adjacent layers of the neural network to produce thedesired values at the output nodes. This process is sometimes referredto as deep learning.

Still referring to FIG. 5 , machine-learning algorithms may include atleast a supervised machine-learning process 528. At least a supervisedmachine-learning process 528, as defined herein, include algorithms thatreceive a training set relating a number of inputs to a number ofoutputs, and seek to find one or more mathematical relations relatinginputs to outputs, where each of the one or more mathematical relationsis optimal according to some criterion specified to the algorithm usingsome scoring function. For instance, a supervised learning algorithm mayinclude performance data as described above as inputs, measuredperformances as outputs, and a scoring function representing a desiredform of relationship to be detected between inputs and outputs; scoringfunction may, for instance, seek to maximize the probability that agiven input and/or combination of elements inputs is associated with agiven output to minimize the probability that a given input is notassociated with a given output. Scoring function may be expressed as arisk function representing an “expected loss” of an algorithm relatinginputs to outputs, where loss is computed as an error functionrepresenting a degree to which a prediction generated by the relation isincorrect when compared to a given input-output pair provided intraining data 504. Persons skilled in the art, upon reviewing theentirety of this disclosure, will be aware of various possiblevariations of at least a supervised machine-learning process 528 thatmay be used to determine relation between inputs and outputs. Supervisedmachine-learning processes may include classification algorithms asdefined above.

Further referring to FIG. 5 , machine learning processes may include atleast an unsupervised machine-learning processes 532. An unsupervisedmachine-learning process, as used herein, is a process that derivesinferences in datasets without regard to labels; as a result, anunsupervised machine-learning process may be free to discover anystructure, relationship, and/or correlation provided in the data.Unsupervised processes may not require a response variable; unsupervisedprocesses may be used to find interesting patterns and/or inferencesbetween variables, to determine a degree of correlation between two ormore variables, or the like.

Still referring to FIG. 5 , machine-learning module 500 may be designedand configured to create a machine-learning model 524 using techniquesfor development of linear regression models. Linear regression modelsmay include ordinary least squares regression, which aims to minimizethe square of the difference between predicted outcomes and actualoutcomes according to an appropriate norm for measuring such adifference (e.g. a vector-space distance norm); coefficients of theresulting linear equation may be modified to improve minimization.Linear regression models may include ridge regression methods, where thefunction to be minimized includes the least-squares function plus termmultiplying the square of each coefficient by a scalar amount topenalize large coefficients. Linear regression models may include leastabsolute shrinkage and selection operator (LASSO) models, in which ridgeregression is combined with multiplying the least-squares term by afactor of 1 divided by double the number of samples. Linear regressionmodels may include a multi-task lasso model wherein the norm applied inthe least-squares term of the lasso model is the Frobenius normamounting to the square root of the sum of squares of all terms. Linearregression models may include the elastic net model, a multi-taskelastic net model, a least angle regression model, a LARS lasso model,an orthogonal matching pursuit model, a Bayesian regression model, alogistic regression model, a stochastic gradient descent model, aperceptron model, a passive aggressive algorithm, a robustnessregression model, a Huber regression model, or any other suitable modelthat may occur to persons skilled in the art upon reviewing the entiretyof this disclosure. Linear regression models may be generalized in anembodiment to polynomial regression models, whereby a polynomialequation (e.g. a quadratic, cubic or higher-order equation) providing abest predicted output/actual output fit is sought; similar methods tothose described above may be applied to minimize error functions, aswill be apparent to persons skilled in the art upon reviewing theentirety of this disclosure.

Continuing to refer to FIG. 5 , machine-learning algorithms may include,without limitation, linear discriminant analysis. Machine-learningalgorithm may include quadratic discriminate analysis. Machine-learningalgorithms may include kernel ridge regression. Machine-learningalgorithms may include support vector machines, including withoutlimitation support vector classification-based regression processes.Machine-learning algorithms may include stochastic gradient descentalgorithms, including classification and regression algorithms based onstochastic gradient descent. Machine-learning algorithms may includenearest neighbors algorithms. Machine-learning algorithms may includevarious forms of latent space regularization such as variationalregularization. Machine-learning algorithms may include Gaussianprocesses such as Gaussian Process Regression. Machine-learningalgorithms may include cross-decomposition algorithms, including partialleast squares and/or canonical correlation analysis. Machine-learningalgorithms may include naïve Bayes methods. Machine-learning algorithmsmay include algorithms based on decision trees, such as decision treeclassification or regression algorithms. Machine-learning algorithms mayinclude ensemble methods such as bagging meta-estimator, forest ofrandomized tress, AdaBoost, gradient tree boosting, and/or votingclassifier methods. Machine-learning algorithms may include neural netalgorithms, including convolutional neural net processes.

Referring now to FIG. 6 , a method 600 of performance matching ispresented. At step 605, method 600 includes receiving performance data.Performance data may be received from a skill evaluation of a userand/or a participant of a skill evaluation. This step may beimplemented, without limitation, as described above in FIGS. 1-5 .

Still referring to FIG. 6 , at step 610, method 600 includes determininga measured performance. Determining a measured performance may includemeasuring a performance of a user engaged in a skill evaluation. Aperformance may be measured through performance data. This step may beimplemented, without limitation, as described above in FIGS. 1-5 .

Still referring to FIG. 6 , at step 615, method 600 includes comparing ameasured performance to a performance parameter. In some embodiments, ameasured performance may be compared to a performance parameter using anobjective function. This step may be implemented, without limitation, asdescribed above in FIGS. 1-5 .

Still referring to FIG. 6 , at step 620, method 600 includes generatinga search query. A search query may be generated as a function of acomparison of a performance to a performance parameter. This step may beimplemented, without limitation, as described above in FIGS. 1-5 .

Still referring to FIG. 6 , at step 625, method 600 includes providing auser with at least a posting. A user may be provided with at least aposting as a function of a search query. Providing a user with postingsmay include providing a ranked list of postings to a user. This step maybe implemented, without limitation, as described above in FIGS. 1-5 .

It is to be noted that any one or more of the aspects and embodimentsdescribed herein may be conveniently implemented using one or moremachines (e.g., one or more computing devices that are utilized as auser computing device for an electronic document, one or more serverdevices, such as a document server, etc.) programmed according to theteachings of the present specification, as will be apparent to those ofordinary skill in the computer art. Appropriate software coding canreadily be prepared by skilled programmers based on the teachings of thepresent disclosure, as will be apparent to those of ordinary skill inthe software art. Aspects and implementations discussed above employingsoftware and/or software modules may also include appropriate hardwarefor assisting in the implementation of the machine executableinstructions of the software and/or software module.

Such software may be a computer program product that employs amachine-readable storage medium. A machine-readable storage medium maybe any medium that is capable of storing and/or encoding a sequence ofinstructions for execution by a machine (e.g., a computing device) andthat causes the machine to perform any one of the methodologies and/orembodiments described herein. Examples of a machine-readable storagemedium include, but are not limited to, a magnetic disk, an optical disc(e.g., CD, CD-R, DVD, DVD-R, etc.), a magneto-optical disk, a read-onlymemory “ROM” device, a random access memory “RAM” device, a magneticcard, an optical card, a solid-state memory device, an EPROM, an EEPROM,and any combinations thereof. A machine-readable medium, as used herein,is intended to include a single medium as well as a collection ofphysically separate media, such as, for example, a collection of compactdiscs or one or more hard disk drives in combination with a computermemory. As used herein, a machine-readable storage medium does notinclude transitory forms of signal transmission.

Such software may also include information (e.g., data) carried as adata signal on a data carrier, such as a carrier wave. For example,machine-executable information may be included as a data-carrying signalembodied in a data carrier in which the signal encodes a sequence ofinstruction, or portion thereof, for execution by a machine (e.g., acomputing device) and any related information (e.g., data structures anddata) that causes the machine to perform any one of the methodologiesand/or embodiments described herein.

Examples of a computing device include, but are not limited to, anelectronic book reading device, a computer workstation, a terminalcomputer, a server computer, a handheld device (e.g., a tablet computer,a smartphone, etc.), a web appliance, a network router, a networkswitch, a network bridge, any machine capable of executing a sequence ofinstructions that specify an action to be taken by that machine, and anycombinations thereof. In one example, a computing device may includeand/or be included in a kiosk.

FIG. 7 shows a diagrammatic representation of one embodiment of acomputing device in the exemplary form of a computer system 700 withinwhich a set of instructions for causing a control system to perform anyone or more of the aspects and/or methodologies of the presentdisclosure may be executed. It is also contemplated that multiplecomputing devices may be utilized to implement a specially configuredset of instructions for causing one or more of the devices to performany one or more of the aspects and/or methodologies of the presentdisclosure. Computer system 700 includes a processor 704 and a memory708 that communicate with each other, and with other components, via abus 712. Bus 712 may include any of several types of bus structuresincluding, but not limited to, a memory bus, a memory controller, aperipheral bus, a local bus, and any combinations thereof, using any ofa variety of bus architectures.

Still referring to FIG. 7 , processor 704 may include any suitableprocessor, such as without limitation a processor incorporating logicalcircuitry for performing arithmetic and logical operations, such as anarithmetic and logic unit (ALU), which may be regulated with a statemachine and directed by operational inputs from memory and/or sensors;processor 704 may be organized according to Von Neumann and/or Harvardarchitecture as a non-limiting example. Processor 704 may include,incorporate, and/or be incorporated in, without limitation, amicrocontroller, microprocessor, digital signal processor (DSP), FieldProgrammable Gate Array (FPGA), Complex Programmable Logic Device(CPLD), Graphical Processing Unit (GPU), general purpose GPU, TensorProcessing Unit (TPU), analog or mixed signal processor, TrustedPlatform Module (TPM), a floating point unit (FPU), and/or system on achip (SoC).

Still referring to FIG. 7 , memory 708 may include various components(e.g., machine-readable media) including, but not limited to, arandom-access memory component, a read only component, and anycombinations thereof. In one example, a basic input/output system 716(BIOS), including basic routines that help to transfer informationbetween elements within computer system 700, such as during start-up,may be stored in memory 708. Memory 708 may also include (e.g., storedon one or more machine-readable media) instructions (e.g., software) 720embodying any one or more of the aspects and/or methodologies of thepresent disclosure. In another example, memory 708 may further includeany number of program modules including, but not limited to, anoperating system, one or more application programs, other programmodules, program data, and any combinations thereof.

Still referring to FIG. 7 , computer system 700 may also include astorage device 724. Examples of a storage device (e.g., storage device724) include, but are not limited to, a hard disk drive, a magnetic diskdrive, an optical disc drive in combination with an optical medium, asolid-state memory device, and any combinations thereof. Storage device724 may be connected to bus 712 by an appropriate interface (not shown).Example interfaces include, but are not limited to, SCSI, advancedtechnology attachment (ATA), serial ATA, universal serial bus (USB),IEEE 1394 (FIREWIRE), and any combinations thereof. In one example,storage device 724 (or one or more components thereof) may be removablyinterfaced with computer system 700 (e.g., via an external portconnector (not shown)). Particularly, storage device 724 and anassociated machine-readable medium 728 may provide nonvolatile and/orvolatile storage of machine-readable instructions, data structures,program modules, and/or other data for computer system 700. In oneexample, software 720 may reside, completely or partially, withinmachine-readable medium 728. In another example, software 720 mayreside, completely or partially, within processor 704.

Still referring to FIG. 7 , computer system 700 may also include aninput device 732. In one example, a user of computer system 700 mayenter commands and/or other information into computer system 700 viainput device 732. Examples of an input device 732 include, but are notlimited to, an alpha-numeric input device (e.g., a keyboard), a pointingdevice, a joystick, a gamepad, an audio input device (e.g., amicrophone, a voice response system, etc.), a cursor control device(e.g., a mouse), a touchpad, an optical scanner, a video capture device(e.g., a still camera, a video camera), a touchscreen, and anycombinations thereof. Input device 732 may be interfaced to bus 712 viaany of a variety of interfaces (not shown) including, but not limitedto, a serial interface, a parallel interface, a game port, a USBinterface, a FIREWIRE interface, a direct interface to bus 712, and anycombinations thereof. Input device 732 may include a touch screeninterface that may be a part of or separate from display 736, discussedfurther below. Input device 732 may be utilized as a user selectiondevice for selecting one or more graphical representations in agraphical interface as described above.

Still referring to FIG. 7 , a user may also input commands and/or otherinformation to computer system 700 via storage device 724 (e.g., aremovable disk drive, a flash drive, etc.) and/or network interfacedevice 740. A network interface device, such as network interface device740, may be utilized for connecting computer system 700 to one or moreof a variety of networks, such as network 744, and one or more remotedevices 748 connected thereto. Examples of a network interface deviceinclude, but are not limited to, a network interface card (e.g., amobile network interface card, a LAN card), a modem, and any combinationthereof. Examples of a network include, but are not limited to, a widearea network (e.g., the Internet, an enterprise network), a local areanetwork (e.g., a network associated with an office, a building, a campusor other relatively small geographic space), a telephone network, a datanetwork associated with a telephone/voice provider (e.g., a mobilecommunications provider data and/or voice network), a direct connectionbetween two computing devices, and any combinations thereof. A network,such as network 744, may employ a wired and/or a wireless mode ofcommunication. In general, any network topology may be used. Information(e.g., data, software 720, etc.) may be communicated to and/or fromcomputer system 700 via network interface device 740.

Still referring to FIG. 7 , computer system 700 may further include avideo display adapter 752 for communicating a displayable image to adisplay device, such as display device 736. Examples of a display deviceinclude, but are not limited to, a liquid crystal display (LCD), acathode ray tube (CRT), a plasma display, a light emitting diode (LED)display, and any combinations thereof. Display adapter 752 and displaydevice 736 may be utilized in combination with processor 704 to providegraphical representations of aspects of the present disclosure. Inaddition to a display device, computer system 700 may include one ormore other peripheral output devices including, but not limited to, anaudio speaker, a printer, and any combinations thereof. Such peripheraloutput devices may be connected to bus 712 via a peripheral interface756. Examples of a peripheral interface include, but are not limited to,a serial port, a USB connection, a FIREWIRE connection, a parallelconnection, and any combinations thereof.

The foregoing has been a detailed description of illustrativeembodiments of the invention. Various modifications and additions can bemade without departing from the spirit and scope of this invention.Features of each of the various embodiments described above may becombined with features of other described embodiments as appropriate inorder to provide a multiplicity of feature combinations in associatednew embodiments. Furthermore, while the foregoing describes a number ofseparate embodiments, what has been described herein is merelyillustrative of the application of the principles of the presentinvention. Additionally, although particular methods herein may beillustrated and/or described as being performed in a specific order, theordering is highly variable within ordinary skill to achieve methods,apparatuses, and software according to the present disclosure.Accordingly, this description is meant to be taken only by way ofexample, and not to otherwise limit the scope of this invention.

Exemplary embodiments have been disclosed above and illustrated in theaccompanying drawings. It will be understood by those skilled in the artthat various changes, omissions and additions may be made to that whichis specifically disclosed herein without departing from the spirit andscope of the present invention.

What is claimed is:
 1. An apparatus for performance matching,comprising: at least a processor; and a memory communicatively connectedto the processor, the memory containing instructions configuring the atleast a processor to: measure performance data of a user performing askill evaluation, wherein the skill evaluation comprises user-specificdata; determine a measured performance of the user as a function of theperformance data; compare the measured performance to a performanceparameter; generate a search query as a function of the comparison;associate the user with a posting description of at least a posting ofone or more postings as a function of the search query, whereingenerating the search query comprises comparing the user-specific datato description-specific data of the one or more postings; provide theuser with the at least a posting of the one or more postings.
 2. Theapparatus of claim 1, wherein: the user-specific data comprises a videointerview; and the video interview comprises an audio component and animage component.
 3. The apparatus of claim 1, wherein comparing theuser-specific data and the description-specific data comprises textretrieval.
 4. The apparatus of claim 1, wherein the at least a processoris further configured to provide at least a skill evaluation improvementrecommendation to the user.
 5. The apparatus of claim 1, whereinassociating the user with the at least a posting description comprisesclassifying the performance data to the at least a posting using acandidate classifier.
 6. The apparatus of claim 1, wherein theperformance data comprises facial movements.
 7. The apparatus of claim1, wherein the performance parameter comprises an ideal response.
 8. Theapparatus of claim 1, wherein the at least a processor is furtherconfigured to: generate a user profile of the user as a function of themeasured performance; and compare the user profile to a user profile ofa second user.
 9. The apparatus of claim 1, wherein comparing themeasured performance to the performance parameter includes: generatingan objective function of the measured performance and the performanceparameter; and comparing the measured performance to the performanceparameter as a function of the objective function.
 10. The apparatus ofclaim 1, wherein providing the user with the at least a posting of theone or more postings comprises providing the user with a ranked list ofpostings.
 11. A method for performance matching, comprising: measuring,by a processor, performance data of a user performing a skillevaluation, wherein the skill evaluation comprises user-specific data;determining, by the processor, a measured performance of the user as afunction of the performance data; comparing, by the processor, themeasured performance to a performance parameter; generating, by theprocessor, a search query as a function of the comparison; associating,by the processor, the user with a posting description of at least aposting of one or more postings as a function of the search query,wherein generating the search query comprises comparing theuser-specific data to description-specific data of the one or morepostings; providing, by the processor, the user with the at least aposting of the one or more postings.
 12. The method of claim 11,wherein: the user-specific data comprises a video interview; and thevideo interview comprises an audio component and an image component. 13.The method of claim 11, wherein comparing the user-specific data and thedescription-specific data comprises text retrieval.
 14. The method ofclaim 11, further comprising providing, by the processor, at least askill evaluation improvement recommendation to the user.
 15. The methodof claim 11, wherein associating the user with the at least a postingdescription comprises classifying the performance data to the at least aposting using a candidate classifier.
 16. The method of claim 11,wherein the performance data comprises facial movements.
 17. The methodof claim 11, wherein the performance parameter comprises an idealresponse.
 18. The method of claim 11, further comprising: generating, bythe processor, a user profile of the user as a function of the measuredperformance; and comparing, by the processor, the user profile to a userprofile of a second user.
 19. The method of claim 11, wherein comparingthe measured performance to the performance parameter includes:generating an objective function of the measured performance and theperformance parameter; and comparing the measured performance to theperformance parameter as a function of the objective function.
 20. Themethod of claim 11, wherein providing the user with the at least aposting of the one or more postings comprises providing the user with aranked list of postings.